Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Hello,
as a relativelly new to DAX I am in front of for me relativelly big data which I assume would be better to handle on DAX lever rather than Power Query - matching qty for materials (8000+) for each day (365+) and that based on random dated input.
I have a Data table and a Calendar table (Day by Day) linked together with the key day.
Data(Day)*:1Calendar(Day)
I would like to transform the data from:
Data table:
Day | Material | Qty |
01.09.2022 | A | 10 |
01.09.2022 | B | 100 |
01.09.2022 | C | 1000 |
08.09.2022 | A | 20 |
08.09.2022 | B | 200 |
08.09.2022 | D | 20000 |
15.09.2022 | A | 30 |
15.09.2022 | B | 3000 |
15.09.2022 | C | 3000 |
15.09.2022 | D | 30000 |
To:
Intended result (In Matrix table)
Day/Qty | A | B | C | D |
01.09.2022 | 10 | 100 | 1000 | 0 |
02.09.2022 | 10 | 100 | 1000 | 0 |
03.09.2022 | 10 | 100 | 1000 | 0 |
04.09.2022 | 10 | 100 | 1000 | 0 |
05.09.2022 | 10 | 100 | 1000 | 0 |
06.09.2022 | 10 | 100 | 1000 | 0 |
07.09.2022 | 10 | 100 | 1000 | 0 |
08.09.2022 | 20 | 200 | 1000 | 20000 |
09.09.2022 | 20 | 200 | 1000 | 20000 |
10.09.2022 | 20 | 200 | 1000 | 20000 |
11.09.2022 | 20 | 200 | 1000 | 20000 |
12.09.2022 | 20 | 200 | 1000 | 20000 |
13.09.2022 | 20 | 200 | 1000 | 20000 |
14.09.2022 | 20 | 200 | 1000 | 20000 |
15.09.2022 | 30 | 300 | 3000 | 300000 |
16.09.2022 | 30 | 300 | 3000 | 300000 |
The purpose is that the original data for saving purposes shows only data with change and I would like to reconstruct every day status.
I can imagine doing that on Power Query level however I assume that will be too big and don't think it will be the right approach.
I tried to do some measures to do the filling but it all seem to only reflect some dates and not all from the Calendar.
I will appreciate a lot an advice leading to the proper solution.
Thank you very much for your help in advance.
HCK
Solved! Go to Solution.
@HCK , First create a new column
End Date = coalesce(Minx(filter(Table, [Material] = earlier([Material]) && [Date] > earlier([Date])), [Date]), [Date]+1)
then use table of measure way in dax and use a matrix visual
Table
https://amitchandak.medium.com/dax-get-all-dates-between-the-start-and-end-date-8f3dac4ff90b
@amitchandak Thank you very much. You showed me the way.
I needed to adjust the new column a bit so that it works exactly as intended to:
@HCK , First create a new column
End Date = coalesce(Minx(filter(Table, [Material] = earlier([Material]) && [Date] > earlier([Date])), [Date]), [Date]+1)
then use table of measure way in dax and use a matrix visual
Table
https://amitchandak.medium.com/dax-get-all-dates-between-the-start-and-end-date-8f3dac4ff90b
@amitchandak Thank you very much. You showed me the way.
I needed to adjust the new column a bit so that it works exactly as intended to:
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 |
---|---|
14 | |
10 | |
10 | |
9 | |
9 |
User | Count |
---|---|
20 | |
13 | |
13 | |
11 | |
8 |