首页 > 解决方案 > 计算产品有库存的(平均)时间

问题描述

我正在尝试计算产品在我们仓库中的时间。到目前为止,我完成了“restocked_date”和“shipment_date”之间天数的计算。

这看起来不错。我使用了以下代码:

tijd in magazijn = IF( OR(voorraad[restocked_date] <= voorraad[shipment_date], voorraad[shipment_date] > 2021-06-30), DATEDIFF(voorraad[restocked_date], voorraad[shipment_date], DAY), DATEDIFF(voorraad[restocked_date], TODAY(),DAY))

现在我希望这是平均值。我也使用以下代码完成了这一点:

Gemiddelde in magazijn per EAN = AVERAGEX( KEEPFILTERS(VALUES('voorraad'[EAN])), CALCULATE(AVERAGE('voorraad'[tijd in magazijn])))

让我感到困难的部分是:
我希望仅计算“restocked_date”为 2021 年 7 月 1 日或之后的项目的平均值。所以在这个例子中,平均应该是 40(从 39,5 四舍五入)而不是 26。

显示所有输入的电子表格

当我连续摆脱所有细节时,到目前为止,我的平均值是这样的:

表中只有 EAN 的平均值

这是使用 Ryan B 给出的解决方案时的结果。不幸的是,这不是我想要的。

Ryan B. 解决方案的结果。

标签: powerbidaxpowerbi-desktop

解决方案


我已经修改了我对解决方案的第一次尝试。在我声称不需要 AverageX 之前,但很明显我错了。

但我确信您需要将您的平均值过滤到那些重新进货日期 > 2021 年 7 月 1 日的行,而您的 DAX 中还没有表达出来。因此,您可以尝试另一种方法来获得该结果:

Gemiddelde in magazijn per EAN =
AVERAGEX (
    KEEPFILTERS ( VALUES ( 'voorraad'[EAN] ) ),
    CALCULATE (
        AVERAGE ( 'voorraad'[tijd in magazijn] ),
        FILTER ( 'voorraad', 'voorraad'[restocked_date] >= DATE ( 2021, 7, 1 ) )
    )
)

推荐阅读