Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.

Reply
EmielvdR
Frequent Visitor

How to reference column in table variable (after TOPN and CALCULATETABLE)?

I'm trying to select a single value (TOP 1) of a table variable which has multiple columns which where used for filtering and sorting.

 

I made an example in DAX.do (https://dax.do/ha0qItKqNlnWHP/) to illustrate the problem (simplified without sorting mechanism):

DEFINE

var aaa =
TOPN (
1,
ADDCOLUMNS (
VALUES ( 'Product'[Product Name] ),
"myTotal", [Sales Amount]
),
[myTotal],
DESC
)

EVALUATE
aaa

 

"aaa" return two colums in 1 row. I want to access only the "Product Name" column.  I need the intermediate variable "aaa".

 

It's not possible to select it by "aaa[Product Name]".  I found: https://community.powerbi.com/t5/Desktop/DAX-Is-it-possible-to-refer-to-columns-of-a-table-variable/... but I'm unable to translate this to my situation.

 

 

1 ACCEPTED SOLUTION
DataInsights
Super User
Super User

@EmielvdR,

 

You can reference the column in the original table since the lineage of the virtual table is maintained. In the measure I defined below, notice the second argument of MAXX: it's the underlying table/column. I had to wrap the result in curly braces since this tool returns only tables (in your model, you won't have to do this).

 

DEFINE
    VAR aaa =
        TOPN (
            1,
            ADDCOLUMNS ( VALUES ( 'Product'[Product Name] ), "myTotal", [Sales Amount] ),
            [myTotal], DESC
        )
    MEASURE 'Product'[Top Product Name] =
        MAXX ( aaa, 'Product'[Product Name] )

EVALUATE
{ [Top Product Name] }

 

DataInsights_0-1665240602006.png

 





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




View solution in original post

2 REPLIES 2
DataInsights
Super User
Super User

@EmielvdR,

 

You can reference the column in the original table since the lineage of the virtual table is maintained. In the measure I defined below, notice the second argument of MAXX: it's the underlying table/column. I had to wrap the result in curly braces since this tool returns only tables (in your model, you won't have to do this).

 

DEFINE
    VAR aaa =
        TOPN (
            1,
            ADDCOLUMNS ( VALUES ( 'Product'[Product Name] ), "myTotal", [Sales Amount] ),
            [myTotal], DESC
        )
    MEASURE 'Product'[Top Product Name] =
        MAXX ( aaa, 'Product'[Product Name] )

EVALUATE
{ [Top Product Name] }

 

DataInsights_0-1665240602006.png

 





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Thank you! Worked perfectly!

Helpful resources

Announcements
FabCon Global Hackathon Carousel

FabCon Global Hackathon

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!

September Power BI Update Carousel

Power BI Monthly Update - September 2025

Check out the September 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors
Top Kudoed Authors