Forum Discussion
Cumulative chart
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:
- Salesman name
- Sales date
- Sales order number
In LINE_ITEM table I have:
- Sales order number
- Line items sold (many lines with the same sales order no)
- Value of each line
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:
- HEADER
- LINE_ITEM
- Salesman code = name reference
- Customer code = name reference
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?
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
7 Replies
- v-frfei-msftCommunity Support
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
- AnonymousNot applicable
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
- v-frfei-msftCommunity Support
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