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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

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
Employee
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
Employee
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
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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