cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
cARLOSPERALTA
Frequent Visitor

Filter Rows of Dim Column for Previous Year's Data to Only Include Row's Existing in Current Year

Hello PBI Community,

 

I have to calculate the growth of sales based on Countries. I have about 50 countries in my dimension table, and a fact table that has data per week. Since not all countries data's are available at the same time for the the current year data, and that my client doesn't want to wait until we have all the countries available to show the data, I have a miscalculation in my growth number because I'm calculating the available countries for this year vs. All the countries available last year.

 

I need to find a solution that would filter the previous year's data based on the countries available for the current period.

 

Any help would be appreciated!

 

Thanks,

 

Carlos P.

www.carlosperalta.dev

3 REPLIES 3
Ailsa-msft
Community Support
Community Support

Hi @cARLOSPERALTA 

Can you provide the data description or pbix file ? This may help us deal with your problem more easily.

 

Best Regards,
Community Support Team _ Ailsa Tao

cARLOSPERALTA
Frequent Visitor

Hi @amitchandak ,

 

I have no issue to get my previous year's data.

 

My issue is that I have to get my previous year's data only for my countries available in 2022.

 

For example, in 2022, Canada, USA and Belgium is available but in 2021 Canada, USA, Belgium, France, Germany and Japan are available. So to calculate growth, I only have to consider Canada, USA and Belgium, which are the markets available in the current period.

 

 

amitchandak
Super User
Super User

@cARLOSPERALTA , if you have year and week.

You need create a year week table with Key [Year]*100 +[week] to join with data and week/date table 

 


//Only year vs Year, not a level below

This Year = CALCULATE(sum('Table'[Qty]),filter(ALL('Date'),'Date'[Year]=max('Date'[Year])))
Last Year = CALCULATE(sum('Table'[Qty]),filter(ALL('Date'),'Date'[Year]=max('Date'[Year])-1))

 

This week = CALCULATE(sum('Table'[Qty]), FILTER(ALL('Date'),'Date'[Year]=max('Date'[Year]) && 'Date'[Week] = Max('Date'[Week]) ))
Last year same week = CALCULATE(sum('Table'[Qty]), FILTER(ALL('Date'),'Date'[Year]=max('Date'[Year])-1 && 'Date'[Week] <= Max('Date'[Week])))

 

If this does not help
Can you share sample data and sample output in table format? Or a sample pbix after removing sensitive data.



Power BI Features || Datamarts: https://youtu.be/8tskWsJTEpg || Field Parameters : https://youtu.be/lqF3Wa1FllE?t=70
Time Intelligence Decoded : https://youtu.be/aU2aKbnHuWs&t=145s || 50+Power Query List Functions : Learn Power Query List
Did I answer your question? Mark my post as a solution! Appreciate your Kudos !! Proud to be a Super User! !!
Dashboard of My Blogs !! Connect on Linkedin !! Subscribe to my youtube Channel !!
Want To Learn Power BI | Beginners !! Advance Concepts !! Power BI For Tableau User !!

Helpful resources

Announcements
September Update

Check it Out!

Click here to learn more about the September 2022 updates!

Power BI Dev Camp Session 26

Check it Out!

Mark your calendars and join us on Thursday, September 29 at 11a PDT for a great session with Ted Pattison!

Top Solution Authors