计算列差异的中位数

时间:2019-05-08 13:56:46

标签: excel dax powerpivot

我正在跟踪很多物品的生产。对于每个项目,我在生产过程中都有大约15个注册点的时间戳。我想用数据统计从点x到点y花费的时间来创建数据透视。

简化的数据集:

simplified dataset

说,我想分析从包装到运输需要多少时间。我正在尝试创建这样的衡量标准:

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

到目前为止,我只收到以下错误消息:“ MEDIAN函数仅接受列引用作为参数编号1。”

我知道我可以为每个点组合创建计算列,但是对于15个点来说,这是很多列。 是否可以在不创建差异列的情况下进行“两个日期时间列的差异的条件(计算)中位数”度量?

1 个答案:

答案 0 :(得分:1)

创建度量:

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

其中“数据集”是表的名称。

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