How to find frequently used columns loaded into memory in Direct Lake?

Optimize enterprise-scale semantic models
Answer Correct answer: B, C — Use Vertipaq Analyzer and query the $System.DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS DMV to identify frequently used columns loaded into memory.

You have a Fabric tenant that contains a semantic model. The model uses Direct Lake mode. You suspect that some DAX queries load unnecessary columns into memory. You need to identify the frequently used columns that are loaded into memory. What are two ways to achieve the goal? Each correct answer presents a complete solution. NOTE: Each correct answer is worth one point.

  1. Use the Analyze in Excel feature.
  2. Use the Vertipaq Analyzer tool. Correct Answer
  3. Query the $System.DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS dynamic management view (DMV). Correct Answer
  4. Query the DISCOVER_MEMORYGRANT dynamic management view (DMV).

Community Votes

BC
100%

100% of anonymous learners picked answer BC. Votes are pick records left by other test-takers — they are not the verified answer.

Community Insight

Tests whether you know the two Fabric/Power BI tools that expose column-level memory usage, not query memory grants (DISCOVER_MEMORYGRANT) or Excel exploration.

In a Fabric Direct Lake semantic model, Vertipaq Analyzer and the $System.DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS DMV both reveal which columns are frequently loaded into memory. This page confirms B and C as the two valid methods for DP-600.

Choosing option D (DISCOVER_MEMORYGRANT DMV) because it sounds memory-related, but that DMV reports query memory grant allocations, not column segment storage.

Community Discussion (10 comments)

282b85d 👍 12 Selected: BC
Methods to Identify Frequently Used Columns: B. Use the Vertipaq Analyzer tool. Vertipaq Analyzer: This tool helps analyze the internal structure of your Power BI model. It provides detailed information about the storage and memory usage of your model, including which columns are frequently accessed and loaded into memory. This can help you identify unnecessary columns that are consuming resources. Steps: Export your Power BI model to a .pbix file. Open the .pbix file in Power BI Desktop. Use the Vertipaq Analyzer tool to analyze the model and review the column usage statistics. C. Query the $System.DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS dynamic management view (DMV). DMVs: Dynamic Management Views (DMVs) provide detailed information about the operations of your Power BI models. Specifically, the $System.DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS DMV can give you insights into the storage and usage patterns of individual columns within your model.
Momoanwar 👍 8 Selected: BC
I think BC. A is only tobread data and D only memory allocations
NRezgui 👍 1 Selected: BC
Use the Vertipaq Analyzer tool. C. Query the $System.DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS dynamic management view (DMV).
Rakesh16 👍 1 Selected: BC
B & C is the answer
6d1de25 👍 1 Selected: AB
Answer is A&B
FSCH_111 👍 5 Selected: BC
Other Options: WRONG A. Use the Analyze in Excel feature: This feature allows for interaction with the model data in Excel but does not provide detailed insights into column-level memory usage. D. Query the DISCOVER_MEMORYGRANT DMV: This DMV provides information about memory grants for queries but does not provide detailed information about the columns loaded into memory.
stilferx 👍 4 Selected: BC
IMHO, B & C Because: 1. The DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS schema rowset returns information about the column segments used for storing data for in-memory tables.<336> 2. Very often there could be a few columns that are not required in your Power BI model, but they take up a lot of space. This is easy to find with Vertipaq Analyzer. Links: https://learn.microsoft.com/en-us/openspecs/sql_server_protocols/ms-ssas/948d5135-5bf4-4cf7-82c5-3a38746c2fb8 https://www.fourmoo.com/2020/11/11/how-to-use-vertipaq-analyzer-with-dax-studio-for-power-bi-model-analysis/
VAzureD 👍 2 Selected: BC
B and C A. It’s more about data exploration and visualization. D. Provides information about memory grants for queries
CLVASQUEZ 👍 2 Selected: BC
B and C is the right answer.
XiltroX 👍 3 Selected: BC
B and C is the right answer.

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Expert Analysis

Why the Answer Is Correct

Vertipaq Analyzer is an external tool that inspects the internal storage of a semantic model and shows column-level memory usage, cardinality, and segment sizes, making it the standard way to find frequently used columns that consume memory. The $System.DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS DMV returns information about the column segments stored for in-memory tables, so querying it directly reveals which columns are loaded into memory. In a Direct Lake semantic model, these column segments are exactly what gets paged into memory for DAX queries, so both B and C directly satisfy the goal. Neither method requires running a workload first, and each independently gives a complete solution as required by the question.

Why the Other Options Are Wrong

A. Analyze in Excel only connects to the semantic model for PivotTable exploration and does not surface column-level memory or storage details. D. DISCOVER_MEMORYGRANT reports memory grant allocations for queries in progress, which tells you about query execution pressure rather than which columns are stored in memory. Both alternatives sound plausible because they mention memory or model access, but neither identifies frequently used columns loaded into memory. The question asks for two complete solutions, and B and C are the only options that expose column segment storage directly.

Community Comment Notes

Most learners agree with BC, including Momoanwar who commented that "A is only to read data and D only memory allocations." stilferx points out that the DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS rowset "returns information about the column segments used for storing data for in-memory tables" and that Vertipaq Analyzer easily finds unused columns taking up space. FSCH_111 adds that Analyze in Excel lacks column-level memory insight and DISCOVER_MEMORYGRANT does not detail columns loaded into memory. A single outlier, 6d1de25, voted AB, but that view is inconsistent with the documented purpose of Analyze in Excel. The community consensus therefore reinforces the technically correct answer, B and C.

Official Reference

Exam Strategy

Eliminate D immediately because DISCOVER_MEMORYGRANT is about query memory grants, not column segments, and eliminate A because Analyze in Excel is for data exploration. Then confirm that Vertipaq Analyzer and $System.DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS both expose column-level memory usage in Direct Lake models.

Frequently Asked Questions

Why is Analyze in Excel wrong for identifying memory-heavy columns?

Analyze in Excel connects to the model for PivotTable exploration and does not expose column-level memory or storage segment details.

Does DISCOVER_MEMORYGRANT show column memory usage?

No, it reports memory grants for queries in progress, not the column segments stored in memory.

Related Analysis

Practice All DP-600 Questions

Access 115 questions with complete answers and detailed explanations.

View Full DP-600 Practice Test →

← Back to DP-600 Study Guide