计算列差异的中位数

Calculating median of differences of columns

我正在跟踪很多项目的生产。对于每个项目,我在生产过程中都有大约 15 个注册点的时间戳。我想创建一个数据透视表,其中包含项目从点 x 到点 y 所需时间的统计数据。

一个简化的数据集:

假设我想分析从包装到运输需要多少时间。我正在尝试创建这样的度量:

PackToShip:=CALCULATE(
  MEDIAN(
      Shipped-Packed
  );
  Shipped<>BLANK();
  Packed<>BLANK()
)

到目前为止,我只收到 "The MEDIAN function only accepts a column reference as the argument number 1."

的错误消息

我知道我可以为每个点的组合创建计算列,但是对于 15 个点来说,这是很多列。 我可以在不创建差异列的情况下进行测量 "conditional (calculate) Median of a difference of two datetime columns" 吗?

创建度量:

PackToShip =
MEDIANX (
    FILTER (
        'Dataset',
        'Dataset'[Shipped] <> BLANK () &&
        'Dataset'[Packed]  <> BLANK ()
    ),
    DATEDIFF ( 'Dataset'[Packed], 'Dataset'[Shipped], MINUTE )
)

其中 'Dataset' 是您的 table 的名字。

该公式首先过滤您的数据集以避免出现空白,然后逐条记录迭代生成的 table 记录,以分钟为单位计算开始日期和结束日期之间的差异(您可以将其更改为另一个间隔)。最后,它计算计算出的差异的中位数。