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
Anonymous
Not applicable

Dynamic filter on MONTH

I am looking for a measure to compute Sales in a specyfic scenario.
When you look closer at my data set (call it Table1) you may notice 2018 is not closed yet.
The latest MONTH for 2018 is 4 whilst for 2017 I have full data for all 12 months.
I would like to compare 2018 Sales with analogical period of 2017
I mean, sales for 1-4 months of 2018 with sales for 1-4 months of 2017.
A trick is my Table1 is not fixed and will grow when new data for future months of 2018 will come.

Here is the data set:

 

Table1

YEARMONTHSALES
20171100
20172222
20173102
20174123
20175322
20176105
20177106
20178323
20179108
201710444
201711545
201712344
20181110
20182245
20183112
20184120


Here is what I have so far:

 

Sales Value = SUM(Table1[SALES])

and my current output:

 

Capture3.PNG

The current output is not exactly what I need, because I can not compare totals.
I can not compare sales for 12 month to 4 ones. It simply makes no sense.

This is my desirabe output:

 

Capture2.PNG

I want my measure to filter MONTHs for the latest year only and compare with the same period previous years.

I do not want any slicers for that. I do not want to show 5-12 months of 2017 because they have no counterparts in 2018.
Each time when Table1 is updated with latest month I would like to have it inclued in my output.


Hope it is clear. Hope someone can help

2 ACCEPTED SOLUTIONS

Just correcting the previous answer please do the following

 

Create a new column as 

Date = date(Table1[YEAR],Table1[MONTH],"01")

and another column as 

SalesYTD = var maxmonth = month(max(Table1[Date])) return if(Table1[MONTH] <= maxmonth ,Table1[SALES],0)

You can now use the column SalesYTD for your calculation

View solution in original post

Ashish_Mathur
Super User
Super User

Hi @Anonymous,

 

You may refer to my solution here.

 

Hope this helps.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/

View solution in original post

6 REPLIES 6
Ashish_Mathur
Super User
Super User

Hi @Anonymous,

 

You may refer to my solution here.

 

Hope this helps.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
Anonymous
Not applicable

Both ways works, tnx!

Ashish_Mathur
Super User
Super User

Hi,

 

I have solved it.  Please allow me some time to share my solution with you.

 

Untitled.png


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
NipponSahore
Resolver II
Resolver II

you can recreate the measure as :

 

YTD_SUM =

maxmonth = month(max(date(year,month,"01"))) return 

 

calculate(sum(table1[sales]),month<=maxmonth)

Anonymous
Not applicable

Hi Nippon,

 

Didn't you miss VAR function in this expresion?

Anyway I get "The MAX function only accepts a column reference as an argument."

In fact YEAR and MONTH columns have no Date formattting.

(custom calendar)

Just correcting the previous answer please do the following

 

Create a new column as 

Date = date(Table1[YEAR],Table1[MONTH],"01")

and another column as 

SalesYTD = var maxmonth = month(max(Table1[Date])) return if(Table1[MONTH] <= maxmonth ,Table1[SALES],0)

You can now use the column SalesYTD for your calculation

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.