Forum Discussion
Calculate Opening Inventory (Help Urgent)
Hi All,
I am currently calculating inventory days number. I do have data example as shown below
| JAN | FEB | MAR | APR | MAY | JUN | JUL | AUG | SEP | OCT | NOV | DEC | |
| Closing Stock 2020 | 18,704 | 14,485 | 16,294 | 16,175 | 18,988 | 19,687 | 16,944 | 15,491 | 14,155 | 12,818 | 14,944 | 16,407 |
| Opening Stock 2021 | 16,407 | 12,706 | 14,293 | 14,189 | 16,656 | 17,269 | 14,863 | 13,588 | 12,417 | 11,244 | 13,109 | 12,514 |
| Closing Stock 2021 | 16,518 | 18,581 | 18,445 | 21,653 | 22,450 | 19,322 | 17,665 | 16,142 | 14,617 | 17,042 | 16,268 | 1,312 |
| Sales 2021 | 15,587 | 12,071 | 13,578 | 13,479 | 15,824 | 16,406 | 14,120 | 12,909 | 11,796 | 10,681 | 12,454 | 11,888 |
The question is, how to calculate inventory days if the formula is ((Opening Stock MTD + Opening Stock last Month) / 2) / Sales MTD * 30 particulary formula required if I would like to calculate inventory days for Jan 2021.
Based on scenario above, can i still use slicer with range for month?
Would highly appreciate for all the feedback, thank you
- Anonymous5 years ago
Hi Anonymous ,
Here are the steps you can follow:
1. Enter the Power query through Transform data, select the [Status] column, and select Transform – Unpivot Columns – Unpivot Other Colum.
2. In the Power query, select Add Column – Index Column – From 1.
3. Create calculated column.
Column = RANKX(FILTER(ALL('Table'),'Table'[Status]=EARLIER('Table'[Status])),'Table'[Index],,ASC)Result:
4. Create measure.
Opening Stock MTD = var _select=SELECTEDVALUE('Table'[Attribute]) var _co=CALCULATE(SUM('Table'[Column]),FILTER(ALL('Table'),'Table'[Attribute]=_select&&'Table'[Status]="Opening Stock 2021")) var _today =MONTH(TODAY()) var _OpeningStockMTD=CALCULATE(SUM('Table'[Value]),FILTER(ALL('Table'),'Table'[Status]="Opening Stock 2021"&&'Table'[Column]>=_co&&'Table'[Column]<=_today)) return _OpeningStockMTDOpening Stock last Month = var _select=SELECTEDVALUE('Table'[Attribute]) var _co=CALCULATE(SUM('Table'[Column]),FILTER(ALL('Table'),'Table'[Attribute]=_select&&'Table'[Status]="Opening Stock 2021")) return IF(_co=1,0, CALCULATE(SUM('Table'[Value]),FILTER(ALL('Table'),'Table'[Column]=_co-1&&'Table'[Status]="Opening Stock 2021")))Sales MTD = var _select=SELECTEDVALUE('Table'[Attribute]) var _co=CALCULATE(SUM('Table'[Column]),FILTER(ALL('Table'),'Table'[Attribute]=_select&&'Table'[Status]="Sales 2021")) var _today =MONTH(TODAY()) var _SalesMTD=CALCULATE(SUM('Table'[Value]),FILTER(ALL('Table'),'Table'[Status]="Sales 2021"&&'Table'[Column]>=_co&&'Table'[Column]<=_today)) return _SalesMTDinventory days = (([Opening Stock MTD]+[Opening Stock last Month])/2)/[Sales MTD] *305. Use the card for the created meausure and place [Attribut] in the slicer.
6. Result:
Select [Attribut]=JAN
Best Regards,
Liu Yang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
1 Reply
- AnonymousNot applicable
Hi Anonymous ,
Here are the steps you can follow:
1. Enter the Power query through Transform data, select the [Status] column, and select Transform – Unpivot Columns – Unpivot Other Colum.
2. In the Power query, select Add Column – Index Column – From 1.
3. Create calculated column.
Column = RANKX(FILTER(ALL('Table'),'Table'[Status]=EARLIER('Table'[Status])),'Table'[Index],,ASC)Result:
4. Create measure.
Opening Stock MTD = var _select=SELECTEDVALUE('Table'[Attribute]) var _co=CALCULATE(SUM('Table'[Column]),FILTER(ALL('Table'),'Table'[Attribute]=_select&&'Table'[Status]="Opening Stock 2021")) var _today =MONTH(TODAY()) var _OpeningStockMTD=CALCULATE(SUM('Table'[Value]),FILTER(ALL('Table'),'Table'[Status]="Opening Stock 2021"&&'Table'[Column]>=_co&&'Table'[Column]<=_today)) return _OpeningStockMTDOpening Stock last Month = var _select=SELECTEDVALUE('Table'[Attribute]) var _co=CALCULATE(SUM('Table'[Column]),FILTER(ALL('Table'),'Table'[Attribute]=_select&&'Table'[Status]="Opening Stock 2021")) return IF(_co=1,0, CALCULATE(SUM('Table'[Value]),FILTER(ALL('Table'),'Table'[Column]=_co-1&&'Table'[Status]="Opening Stock 2021")))Sales MTD = var _select=SELECTEDVALUE('Table'[Attribute]) var _co=CALCULATE(SUM('Table'[Column]),FILTER(ALL('Table'),'Table'[Attribute]=_select&&'Table'[Status]="Sales 2021")) var _today =MONTH(TODAY()) var _SalesMTD=CALCULATE(SUM('Table'[Value]),FILTER(ALL('Table'),'Table'[Status]="Sales 2021"&&'Table'[Column]>=_co&&'Table'[Column]<=_today)) return _SalesMTDinventory days = (([Opening Stock MTD]+[Opening Stock last Month])/2)/[Sales MTD] *305. Use the card for the created meausure and place [Attribut] in the slicer.
6. Result:
Select [Attribut]=JAN
Best Regards,
Liu Yang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.