库存变动表中的DAX“库存天数”

时间:2019-07-01 13:16:28

标签: powerbi dax powerpivot

我正在尝试计算库存中每种产品的“库存天数”。作为数据源,我有一个专用的“日历”表和一个“库存变动”表,其中仅包含实际发生变动的日期(而不是每天)的记录。这些表之间有关系。

使用下面的代码,我尝试在DAX中进行“左连接”替代,然后计算之后的行数。结果毫无意义。

我需要获取从年初开始QTY > 0的天数,包括不动的天数。包含“计算”,用于将行上下文(模型,分支等)传输到度量。

days in stock =
VAR StockPerDay =
    ADDCOLUMNS (
        'Calendar';
        "DailyQty"; CALCULATE (
            SUM ( StockMovement[qty] );
            StockMovement[Date] <= EARLIER ( 'Calendar'[Date] )
        )
    )
RETURN
    COUNTROWS ( FILTER ( StockPerDay; [DailyQty] > 0 ) )

“库存移动”表中的数据如下所示:

sample stock movement

我是DAX的新手,所以我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

我想出了一个希望对我有用的解决方案。非常感谢@Alexis Olson编辑我的凌乱代码,这让我焕然一新。

DaysInStock :=
VAR StockPerDay =
    CALCULATETABLE (
        ADDCOLUMNS (
            'Calendar';
            "DailyQty"; SUMX (
                FILTER ( StockMovement; StockMovement[Date] <= 'Calendar'[Date] );
                StockMovement[QTY]
            )
        );
        'Calendar'[Date]
            <= TODAY () - 1
    )
VAR NoOfDays =
    COUNTROWS ( FILTER ( StockPerDay; [DailyQty] > 0 ) )
VAR DateLimit =
    DATE ( YEAR ( TODAY () ); 1; 15 )
RETURN
    IF (
        NoOfDays >= DATEDIFF ( DateLimit; TODAY (); DAY );
        TODAY () - DateLimit;
        NoOfDays
    )

如果有一种方法可以优化上述内容,请分享您的想法。