Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Hi all,
I am new to PowerBI tool and I just wanted to test it for automation of the standard test that I do normally in Excel.
CURRENT EXCEL SOLUTION
It's quite simple - it's a chart as follows:
Y axis - monetary value
X axis - month.year (e.g. 12.2018)
values - number of lines on the chart depends on the number of salesmen. For each month.year X, Y equals to this month sales + cumulative values from previous months
So in result I obtain few cumulative lines on one chart and those lines show me which salesman sales dynamic is the "strongest".
For now, in Excel, I simply make a pivot and then I copy this table to another sheet, then I apply appropriate sum formula and then I just make a line chart of the outcome.
POWERBI MODEL?
The idea behind is to build one file that will draw for me this cumulative chart based on input files (.xls) which I will replace with another set of data for another scope.
Entry data are SAP tables, therefore HEADER table and LINE_ITEM table.
In HEADER I have:
In LINE_ITEM table I have:
In excel I just vlookup those three HEADER columns into LINE_ITEM table and the proceed to pivot.
In PowerBI I have 4 tables loaded:
And here's the point: I arrive to proper PowerBI matrix having salesman, date of sales and value of sales order. But this is not cumulated data. My questions is how to achieve the same outcome in PowerBI as in excel? If can cumualte the data in matrix then, I would just apply line chart as in Excel. Do you have any ideas how to do that or maybe, can you propose me other approach?
Solved! Go to Solution.
Hi @Anonymous,
Change the relationshiop between date table and the 2LINE ITEMS + data_from_HEADER table to single. And create the measure as below.
Measure 3 = var m =CALCULATE(MAX('2LINE ITEMS + data_from_HEADER'[Yearmonth]),ALL('2LINE ITEMS + data_from_HEADER')) VAR re = CALCULATE(SUM('2LINE ITEMS + data_from_HEADER'[VALUE]),FILTER(ALLEXCEPT('2LINE ITEMS + data_from_HEADER','2LINE ITEMS + data_from_HEADER'[SALESMAN]),'2LINE ITEMS + data_from_HEADER'[Yearmonth] <= MAX('CALENDAR'[YearMonth]))) RETURN IF ( MAX ( 'CALENDAR'[YearMonth] ) > m, BLANK (), IF ( ISBLANK ( re ), 0, re ) )
Then we can get the result same as yours.
Also please find the pbix as attached.
Regards,
Frank
Hi @Anonymous,
Could you please share your sample data and excepted result to me. You can upload your files to onedrive and share the link here.
Reagrads,
Frank
Hi @v-frfei-msft,
Please find below the link to sample excel file, with the steps that I normally perform and the output result. In this case there are only few months.
https://1drv.ms/x/s!Al4POElXYEpThOE7uGCVRFvf-dHUfw
Hi @Anonymous,
Please check the following steps as below.
1. Create a calculated column.
Yearmonth = YEAR('2LINE ITEMS + data_from_HEADER'[SALESDATE])*100+MONTH('2LINE ITEMS + data_from_HEADER'[SALESDATE])
2. To create a measure as below.
Measure = CALCULATE ( SUM ( '2LINE ITEMS + data_from_HEADER'[VALUE] ), FILTER ( ALLEXCEPT ( '2LINE ITEMS + data_from_HEADER', '2LINE ITEMS + data_from_HEADER'[SALESMAN] ), '2LINE ITEMS + data_from_HEADER'[Yearmonth] <= MAX ( '2LINE ITEMS + data_from_HEADER'[Yearmonth] ) ) )
For more details, please check the pbix as attached.
Regards,
Frank
Hi @Anonymous,
Does that make sense? If so, kindly mark my answer as a solution to close the case.
Regards,
Frank
Hi @Anonymous,
Change the relationshiop between date table and the 2LINE ITEMS + data_from_HEADER table to single. And create the measure as below.
Measure 3 = var m =CALCULATE(MAX('2LINE ITEMS + data_from_HEADER'[Yearmonth]),ALL('2LINE ITEMS + data_from_HEADER')) VAR re = CALCULATE(SUM('2LINE ITEMS + data_from_HEADER'[VALUE]),FILTER(ALLEXCEPT('2LINE ITEMS + data_from_HEADER','2LINE ITEMS + data_from_HEADER'[SALESMAN]),'2LINE ITEMS + data_from_HEADER'[Yearmonth] <= MAX('CALENDAR'[YearMonth]))) RETURN IF ( MAX ( 'CALENDAR'[YearMonth] ) > m, BLANK (), IF ( ISBLANK ( re ), 0, re ) )
Then we can get the result same as yours.
Also please find the pbix as attached.
Regards,
Frank
This is excellent!
Thank you
Hi @v-frfei-msft,
I have a problem - my outcome chart doesn not keep consistency of lines - there are signle dots for some series of data. I thoroughly, applied you solution to my real data. I marked in yellow the "missing line"
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
94 | |
86 | |
81 | |
70 | |
49 |
User | Count |
---|---|
143 | |
124 | |
107 | |
60 | |
55 |