计算列差异的中位数
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 记录,以分钟为单位计算开始日期和结束日期之间的差异(您可以将其更改为另一个间隔)。最后,它计算计算出的差异的中位数。
我正在跟踪很多项目的生产。对于每个项目,我在生产过程中都有大约 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 记录,以分钟为单位计算开始日期和结束日期之间的差异(您可以将其更改为另一个间隔)。最后,它计算计算出的差异的中位数。