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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
BenFransen
Regular Visitor

Dynamic property access?

I have created a measure like _thisDateCode = if(month(today())=1; "Jan"; if(.. up to dec

 

In my data I have columns from Jan, Feb, .. Dec.

 

I tried to make a calculation for the current month column like: This Months Total = sumx(filter('my_table'; 'my_table'[year]=year(today()); 'my_table'[_thisDateCode])

 

But that doesn't seem to work, I get an error:

 

Can I access a column dynamically using a measure? I got it working creating 11 if statements in the sumx' expression, but that feels clumsy. Besides I also need to make more measures with multiple criteria in the filter expression and would like to isolate repeating DAX parts to measures/variables.

1 ACCEPTED SOLUTION
v-yulgu-msft
Microsoft Employee
Microsoft Employee

Hi @BenFransen,

 

Based on my understanding, you want to make a calculation for current month, right? 

 

In your scenario, rather than using a measure to convert today's month number to month name, like Jan, Feb, Mar, etc, why don't you convert the text value in month column to numeric month number, like 1,2,3, etc.

 

You can create a calculated column called [MonthNo] in 'my_table' using below formula:

MonthNo=IF('my_table'[Month]="Jan",1,IF('my_table'[Month]="Feb",2,IF(...up to 12))

 

Then, the calculattion measure could be:
This Months Total = sumx(filter('my_table', 'my_table'[year]=year(today()), 'my_table'[MonthNo]=Month(Today())),'my_table'[ColumnName])

 

If I have something misunderstood, please elaborate your requirement with some sample data, and it would be better you can post an image to describe your expect output.

 

Best regards,
Yuliana Gu

Community Support Team _ Yuliana Gu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

2 REPLIES 2
v-yulgu-msft
Microsoft Employee
Microsoft Employee

Hi @BenFransen,

 

Based on my understanding, you want to make a calculation for current month, right? 

 

In your scenario, rather than using a measure to convert today's month number to month name, like Jan, Feb, Mar, etc, why don't you convert the text value in month column to numeric month number, like 1,2,3, etc.

 

You can create a calculated column called [MonthNo] in 'my_table' using below formula:

MonthNo=IF('my_table'[Month]="Jan",1,IF('my_table'[Month]="Feb",2,IF(...up to 12))

 

Then, the calculattion measure could be:
This Months Total = sumx(filter('my_table', 'my_table'[year]=year(today()), 'my_table'[MonthNo]=Month(Today())),'my_table'[ColumnName])

 

If I have something misunderstood, please elaborate your requirement with some sample data, and it would be better you can post an image to describe your expect output.

 

Best regards,
Yuliana Gu

Community Support Team _ Yuliana Gu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

That's a possiblity as well, but it would be neater if it is/was possible to reference a column name dynamically. For now I'll stick with the current approach.

Helpful resources

Announcements
Feb2025 Sticker Challenge

Join our Community Sticker Challenge 2025

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

Jan NL Carousel

Fabric Community Update - January 2025

Find out what's new and trending in the Fabric community.