计算产品在库存中的(平均)时间

Calculate the (average) time a product is in stock

我正在尝试计算产品在我们库房的时间。到目前为止,我完成了 '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.

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

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

我修改了我第一次尝试的解决方案。之前我声称不需要 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 ) )
    )
)