首页 > 解决方案 > 使用数据透视表计算类别的聚合值的中位数

问题描述

我有关于某些类别(水果、零食等)销售额的每小时数据。我想使用表中的每小时数据显示一个月或一年的每日销售额中位数。因此,对于每个类别,它需要将每小时值相加并首先创建一个每日值,然后计算中位数

常规枢轴不提供中值功能。我熟悉 Power pivots,但没有使用过Measures。我尝试使用 medianX 函数创建度量,但无法使其工作

标签: excelsumdaxpowerpivotmedian

解决方案


首先,您需要将日历表添加到数据模型中:

日历表解释

日历表必须包含您希望将销售额分组的字段,例如“年-月”和“年-季度”。

然后,通过日期字段将 Calendar 表连接到 Sales 表,以获得如下结构:

在此处输入图像描述

使用此数据模型,创建 2 个度量(我假设您的销售表称为“销售”,日历表称为“日期”):

措施一:

Total Sale = SUM(Sales[Amount])

它只会计算销售金额的总和。

措施2:

Median Monthly Sale = MEDIANX( VALUES(Date[Year-Month]), [Total Sale])

该度量将首先按年月汇总销售额,然后计算总和的中位数。

要获得不同时期的中位数销售额,只需将 Year-Month 替换为所需的分组级别,例如:

Median Yearly Sale = MEDIANX( VALUES(Date[Year]), [Total Sale])

推荐阅读