Расчет запасов с учетом прошлых продаж и покупок - PullRequest
0 голосов
/ 10 июля 2019

У меня есть три таблицы в PowerBI, таблица продаж со статьями, проданными за год, покупки товаров за год и инвентарь за определенную временную отметку.

Теперь я хотел бы иметь возможностьрассчитать запас для каждого дня.

Данные могут быть приведены в качестве примера следующим образом:

enter image description here

Я пытался создать столбец для каждого продуктаа затем 365 строк, чтобы показать инвентарь на каждый день.Тем не менее, я не знаю, как включить инвентарь от 29.03.2019.

Кроме того, для демонстрации я использовал только три статьи.Однако, если у меня есть набор данных из 10.000 продуктов, какой будет идеальный способ рассчитать его, чтобы иметь возможность правильно отображать его на панели инструментов в дальнейшем?

Заранее спасибо:)

1 Ответ

0 голосов
/ 14 июля 2019

Сначала я создал StockTable, где мы объединили покупки и продажи:

StockTable = 
UNION(
    ADDCOLUMNS(Purch;"Event";"Purchage") ;
    SELECTCOLUMNS(Sold;"Article";Sold[Article];"PurchageDate";Sold[SalesDate];"Amount";-Sold[Amount];"Event";"Sold")
)

Поскольку нам нужно убедиться, что реляционная модель верна, я добавил новое отношение из Invent в StockTable 1: * enter image description here

Далее я добавил столбец Stock в StockTable, это вычисляет по отношению к дате инвентаризации товара в акции на конкретную дату.Он имеет записи только тогда, когда произошло реальное изменение (365 дней не требуется).

Stock = 
var lastStockDate = RELATED(Invent[Date])
return if (StockTable[PurchageDate] < lastStockDate;
    RELATED(Invent[Amount in inventory]) + CALCULATE(SUM(StockTable[Amount]); FILTER(StockTable;StockTable[Article] = EARLIER(StockTable[Article]) && StockTable[PurchageDate] >= EARLIER(StockTable[PurchageDate]) && StockTable[PurchageDate] <= lastStockDate)) ;
    CALCULATE(SUM(StockTable[Amount]); FILTER(StockTable;StockTable[Article] = EARLIER(StockTable[Article]) && StockTable[PurchageDate] <= EARLIER(StockTable[PurchageDate]) && StockTable[PurchageDate] > lastStockDate)) + RELATED(Invent[Amount in inventory]))

Теперь можно создать график, показывающий запас по статье: enter image description here

...