Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Dear All!
We have a table like below:
Screenshot UP,
Link to the Excel file:
We have several products with their prices over the time since 01-01-2019 so far...
We need a table in Power Bi that show the price indexes on the indexes below:
e.g. Product 1 has 12% decrease its price in the past 24 hrs,
Product 3 has 44% increased in its price since 6 months ago,
Something like below:
Many thanks for the help,
Solved! Go to Solution.
Hi @ahadtk ,
1. You can transpose the table in Power Query Editor and then add a new column to assist [Product] sorting. Like this.
2. then please create measures like:
1 Day =
VAR _DATE_1 = MAX('Sheet1'[Date])
VAR _DATE_2 = MAX('Sheet1'[Date])-1
VAR _VALUE_1 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]= _DATE_1)
VAR _VALUE_2 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]=_DATE_2)
VAR _RATE = DIVIDE(_VALUE_1-_VALUE_2,_VALUE_2)
RETURN
_RATE
1 Week =
VAR _DATE_1 = MAX('Sheet1'[Date])
VAR _DATE_2 = MAX('Sheet1'[Date])-7
VAR _VALUE_1 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]= _DATE_1)
VAR _VALUE_2 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]=_DATE_2)
VAR _RATE = DIVIDE(_VALUE_1-_VALUE_2,_VALUE_2)
RETURN
_RATE
1 Month =
VAR _DATE_1 = MAX('Sheet1'[Date])
VAR _DATE_2 = EDATE(MAX('Sheet1'[Date]),-1)
VAR _VALUE_1 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]= _DATE_1)
VAR _VALUE_2 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]=_DATE_2)
VAR _RATE = DIVIDE(_VALUE_1-_VALUE_2,_VALUE_2)
RETURN
_RATE
...
3 Year =
VAR _DATE_1 = MAX('Sheet1'[Date])
VAR _DATE_2 = EDATE(MAX('Sheet1'[Date]),-36)
VAR _VALUE_1 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]= _DATE_1)
VAR _VALUE_2 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]=_DATE_2)
VAR _RATE = DIVIDE(_VALUE_1-_VALUE_2,_VALUE_2)
RETURN
_RATE
3. result:
Best Regards,
Gao
Community Support Team
If there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly. If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
How to get your questions answered quickly -- How to provide sample data
Hi @ahadtk ,
How about adding a condition to return the Friday date if it is a weekend? Like this:
1 Week =
VAR _DATE_1 = MAX('Sheet1'[Date])
VAR _DATE_2 = MAX('Sheet1'[Date])-7
VAR _DETE_3 = SWITCH(TRUE(),WEEKDAY(_DATE_2,2)=6,_DATE_2-1,WEEKDAY(_DATE_2,2)=7,_DATE_2-2,_DATE_2)
VAR _VALUE_1 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]= _DATE_1)
VAR _VALUE_2 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]=_DETE_3)
VAR _RATE = DIVIDE(_VALUE_1-_VALUE_2,_VALUE_2)
RETURN
_RATE
Best Regards,
Gao
Community Support Team
Hi @Anonymous
We have an issue here,
We have collected the only business days price over the time,
Meaning, we do not have the prices for Saturdays and Sundays,
So, if the last day or last month or ... would be a weekend day,
The new measures do not return any value 😞
Hi @ahadtk ,
How about adding a condition to return the Friday date if it is a weekend? Like this:
1 Week =
VAR _DATE_1 = MAX('Sheet1'[Date])
VAR _DATE_2 = MAX('Sheet1'[Date])-7
VAR _DETE_3 = SWITCH(TRUE(),WEEKDAY(_DATE_2,2)=6,_DATE_2-1,WEEKDAY(_DATE_2,2)=7,_DATE_2-2,_DATE_2)
VAR _VALUE_1 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]= _DATE_1)
VAR _VALUE_2 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]=_DETE_3)
VAR _RATE = DIVIDE(_VALUE_1-_VALUE_2,_VALUE_2)
RETURN
_RATE
Best Regards,
Gao
Community Support Team
Hi @Anonymous
Much appreciated 🙂
That's it!
Hi @Anonymous
Many thanks for the help 🙂
Hi @ahadtk ,
1. You can transpose the table in Power Query Editor and then add a new column to assist [Product] sorting. Like this.
2. then please create measures like:
1 Day =
VAR _DATE_1 = MAX('Sheet1'[Date])
VAR _DATE_2 = MAX('Sheet1'[Date])-1
VAR _VALUE_1 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]= _DATE_1)
VAR _VALUE_2 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]=_DATE_2)
VAR _RATE = DIVIDE(_VALUE_1-_VALUE_2,_VALUE_2)
RETURN
_RATE
1 Week =
VAR _DATE_1 = MAX('Sheet1'[Date])
VAR _DATE_2 = MAX('Sheet1'[Date])-7
VAR _VALUE_1 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]= _DATE_1)
VAR _VALUE_2 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]=_DATE_2)
VAR _RATE = DIVIDE(_VALUE_1-_VALUE_2,_VALUE_2)
RETURN
_RATE
1 Month =
VAR _DATE_1 = MAX('Sheet1'[Date])
VAR _DATE_2 = EDATE(MAX('Sheet1'[Date]),-1)
VAR _VALUE_1 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]= _DATE_1)
VAR _VALUE_2 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]=_DATE_2)
VAR _RATE = DIVIDE(_VALUE_1-_VALUE_2,_VALUE_2)
RETURN
_RATE
...
3 Year =
VAR _DATE_1 = MAX('Sheet1'[Date])
VAR _DATE_2 = EDATE(MAX('Sheet1'[Date]),-36)
VAR _VALUE_1 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]= _DATE_1)
VAR _VALUE_2 = CALCULATE(MAX('Sheet1'[Value]),'Sheet1'[Date]=_DATE_2)
VAR _RATE = DIVIDE(_VALUE_1-_VALUE_2,_VALUE_2)
RETURN
_RATE
3. result:
Best Regards,
Gao
Community Support Team
If there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly. If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
How to get your questions answered quickly -- How to provide sample data
@ahadtk , You have to create those many change % measures
some examples are here
Time Intelligence, DATESMTD, DATESQTD, DATESYTD, Week On Week, Week Till Date, Custom Period on Period,
Custom Period till date: https://youtu.be/aU2aKbnHuWs&t=145s
Power BI — Year on Year with or Without Time Intelligence
https://medium.com/@amitchandak.1978/power-bi-ytd-questions-time-intelligence-1-5-e3174b39f38a
https://www.youtube.com/watch?v=km41KfM_0uA
Power BI — Qtr on Qtr with or Without Time Intelligence
https://medium.com/@amitchandak.1978/power-bi-qtd-questions-time-intelligence-2-5-d842063da839
https://www.youtube.com/watch?v=8-TlVx7P0A0
Power BI — Month on Month with or Without Time Intelligence
https://medium.com/@amitchandak.1978/power-bi-mtd-questions-time-intelligence-3-5-64b0b4a4090e
https://www.youtube.com/watch?v=6LUBbvcxtKA
Power BI — Week on Week and WTD
https://medium.com/@amitchandak.1978/power-bi-wtd-questions-time-intelligence-4-5-98c30fab69d3
https://community.powerbi.com/t5/Community-Blog/Week-Is-Not-So-Weak-WTD-Last-WTD-and-This-Week-vs-La...
https://www.youtube.com/watch?v=pnAesWxYgJ8
Day Intelligence - Last day, last non continous day
https://medium.com/@amitchandak.1978/power-bi-day-intelligence-questions-time-intelligence-5-5-5c324...
Others here
https://medium.com/chandakamit/power-bi-when-i-felt-lazy-and-i-needed-too-many-measures-ed8de20d9f79
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
80 | |
79 | |
59 | |
36 | |
35 |
User | Count |
---|---|
99 | |
57 | |
56 | |
46 | |
40 |