INTERSECT returns rows of its first table that appear in the second
You are reviewing a Power BI data model. You have a calculated table that has the following definition. ProductList = INTERSECT ( ProductsGroupA, ProductsGroupB ) You need to identify the results of the DAX expression. Which rows will be returned in ProductList?
Community Votes
100% of anonymous learners picked answer C. Votes are pick records left by other test-takers — they are not the verified answer.
Community Insight
DAX INTERSECT is order-dependent: it returns the rows of the first table expression that also exist in the second — the result's column lineage comes entirely from the left table.
A calculated table defined as INTERSECT(ProductsGroupA, ProductsGroupB) must be evaluated to know which rows appear in the result.
Assuming intersection is order-independent like set theory — if the arguments were swapped, the result would carry ProductsGroupB's columns and rows instead, so A and C are not both correct.
Community Discussion (8 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
The DAX INTERSECT documentation defines the function as returning the rows of the left table that appear in the right table, preserving duplicates and using the left table's column naming and lineage. With INTERSECT(ProductsGroupA, ProductsGroupB), the left table is ProductsGroupA, so the result is all rows of ProductsGroupA that have a matching row in ProductsGroupB — option C.Why the Other Options Are Wrong
Option A describes rows of ProductsGroupB matched in ProductsGroupA, which is the result of reversing the arguments to INTERSECT(ProductsGroupB, ProductsGroupA) — a different calculated table with different lineage. Option B describes a union-like result containing rows of both tables, which is the domain of UNION, not INTERSECT. Option D describes an anti-join (rows of the first table with no match in the second), which is closer to EXCEPT than to INTERSECT.Community Comment Notes
One commenter claims INTERSECT is order-independent and that both A and C are correct — the documentation contradicts this by specifying left-table lineage and left-table rows. Every other comment and the unanimous vote identify C, with one quoting the function definition on duplicate retention and left-table semantics.Official Reference
Related Analysis
Practice All PL-300 Questions
Access 116 questions with complete answers and detailed explanations.
View Full PL-300 Practice Test →