如何用过去的销售和采购来计算库存?

How to calculate inventory with past sales and purchases?

我在 PowerBI 中有三个 table,一个销售额 table 一年内售出的文章,一年内购买的文章以及某个时间戳的库存。

我现在希望能够计算每天的库存。

数据可以这样举例:

我尝试为每个产品创建一个列,然后创建 365 行来显示每天的库存。但是,我不知道如何合并29.03.2019的库存。

另外,为了演示我只用了三篇文章。但是,如果我有一个包含 10.000 种产品的数据集,那么理想的计算方法是什么以便能够在以后的仪表板中正确显示它?

首先,我创建了一个 StockTable,我们在其中合并了采购和销售:

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

因为我们需要确保关系模型是正确的,所以我添加了一个从 Invent 到 StockTable 1 的新关系:*

接下来,我在 StockTable 上添加了一个 Stock 列,这将根据商品的库存日期计算特定日期的库存。它只有真正发生变化时的记录(不需要 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]))

现在可以创建一个图表来显示每篇文章的库存: