使用 pivot table 计算类别聚合值的中位数

Calculate median of aggregated values for a category using pivot table

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

常规主元不提供中值函数。我熟悉 Power Pivots 但没有使用 Measures。我尝试使用 medianX 函数创建一个度量,但无法使其工作

阿里,

创建度量时,您需要使用 MEDIAN 函数而不是 MEDIANX

如果您尝试计算 table 中尚不存在的列的中值,则 MedianX 将是。

例如,假设我们有 Table1,其中有两列 Net Revenue 和 Net Expense。列中的每一行都存在以下 3 个数据点。

净收入: 2019年1月 100 2019 年 2 月 300 2019 年 3 月 300

净费用: 2019年1月 50 2019年2月 100 2019 年 3 月 50

由于我们在 table 中没有净利润列,我们可以使用 MEDIANX 来指定我们想要使用的 table,然后为不存在的列编写表达式.在上面的示例中,它将变为 =MEDIANX(Table1, [Net Revenue] - [Net Expense]。这将为 NetProfit 创建一个中值度量,即使该列本身不存在于我们的 table.

在你的例子中,因为你正在聚合一个已经存在的列,你可以坚持使用 =MEDIAN。

如果您需要更多说明,请告诉我!

最佳,

布雷特

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

Calendar Table Explained

日历 table 必须包含您要作为销售分组依据的字段,例如 "Year-Month" 和 "Year-Quarter"。

然后,通过日期字段将日历 table 连接到您的销售 table,以获得如下结构:

有了这个数据模型,创建 2 个度量(我假设你的销售额 table 被称为 "Sales",日历 table 被称为 "Date"):

措施 1:

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])