什么是聚合函数?

有时想要通过数学方式合并列中的行值。 数学运算可以是求和、平均值、最大值、计数等。将合并列中的行数据值称为聚合。 该数学运算的结果是聚合。

数值字段是指通过一些分类字段进行聚合(例如,求和或计算平均值)的值。 例如,“按产品划分的销售额”和“按地区划分的缺陷数”。 数值字段通常称为 度量值 。 在“字段”列表中,度量值以 ∑ 符号显示。 有关详细信息,请参阅报表编辑器... 教程

有时,度量值 实际上就是 计算度量值。 Power BI 中的计算度量值是使用数据导入(在报表依据的数据模型中进行定义)。 各个计算度量值都有自己的硬编码公式。 不能更改正在使用的聚合。例如,如果正在计算求和,就只能进行求和。 在“字段”列表中, 计算度量值 与计算器符号一起显示。 若要详细了解如何创建计算度量值,请参阅 Power BI Desktop 中的度量值

虽然分类字段不是数值,但仍可以聚合。 如果分类字段位于 仅限数值 存储桶(如“ ”或“ 工具提示 ”)中,Power BI 可以计算每个类别的出现次数或非重复出现次数。 对于字符串和日期,Power BI 还提供其他一些聚合选项,包括计算最早项、最晚项、第一项和最后一项。

为什么聚合不按我希望的方式运行?

使用 Power BI 服务中的聚合时,我们可能会感到困惑。有时,你可能有一个数值字段,但 Power BI 却不允许你更改聚合。 或者,你可能有一个字段(如年份),但你并不希望进行聚合,只是想计算它的出现次数。

大多数情况下,此问题的根源就是字段在 Power BI 数据集中的分类方式。 字段或许归类为文本字段,这就解释了为什么无法对此字段进行求和或计算平均值。 遗憾的是,只有数据集所有者才能更改字段的分类方式

为了避免你产生混淆,我们在本文末尾处设置了一个特殊部分,名为“提示和故障排除”。 如果你在这一部分中仍没有获得答案,请在 Power BI 社区论坛中提问,直接获取 Power BI 团队的快速响应。

更改数值字段的聚合方式

假设你有一个计算不同地区销售数据总和的图表,但你比较想要平均值。

  1. 在报表编辑视图中,将度量值添加到可视化效果。

  2. 在“可视化效果”窗格中找到并右键单击该字段,然后选择所需的聚合类型。 如果看不到所需的聚合,请与数据集所有者联系。 问题可能出在所有者采用的字段分类方式上。

    Note:

    下拉列表中显示的选项视以下因素而定:1) 所选的字段以及 2) 数据集所有者采用的字段分类方式。

聚合字段时可用的某些选项:

  • 不求和。 如果选择此选项,该字段中的每个值会分开处理且不求和。 此选项常用于不应该求和的数值 ID 列。

  • 求和。 这会对该字段中的所有值求和。

  • 平均值。 求出值的算术平均值。

  • 最小值。 显示最小的值。

  • 最大值。 显示最大的值。

  • 计数(非空白)。 这会计算该字段中非空白值的数目。

  • 计数(非重复)。 这会计算该字段中不同值的数目。

  • 标准偏差

  • 方差

  • 中值。 显示中间值。 这是上下具有相同项数的值。 如果有 2 个中值,Power BI 会取其平均值。

例如,下列数据:

国家/地区 数量
美国 100
英国 150
加拿大 100
德国 125
法国
日本 125
澳大利亚 150

将得到下列结果:

  • 不求和:分别显示每个值

  • 求和:750

  • 平均值:125

  • 最大值:150

  • 最小值:100

  • 计数(非空白):6

  • 计数(非重复):4

  • 标准偏差:20.4124145...

  • 方差:416.666...

  • 中值:125

将非聚合字段用作数值字段

你也可以将非聚合字段用作数值字段。 例如,如果有“产品名称”字段,可以将它添加为值,然后设置为计数非重复计数

  1. 例如,如果选择商店 > 连锁店

  2. 如果将聚合函数从默认的不求和更改为计数 (非重复),Power BI 会计算不同连锁店的数目。 在本例中有 2 家:Fashions Direct 和 Lindseys。

  3. 如果将聚合函数更改为计数,Power BI 会计算总数。 在本例中,连锁店有 104 家。 通过将连锁店添加为筛选器,你可以看到 Fashions Direct 有 37 行,Lindseys 有 67 行。

提示和疑难解答

问:为什么我看不到“不汇总”选项?

答:你选择的字段可能是一个计算度量值。 请注意,每个计算度量值都有自己的硬编码公式。 你无法更改计算。

问:我数值字段,为什么我只能选择“计数”和“非重复计数”?

答:较为合理的解释是,数据集所有者无意中或特意未将字段归类为数值字段。 例如,如果数据集包含字段,那么数据集所有者可能会将其分类为文本,因为字段很有可能会用于计数(例如,1974 年出生的人数),而不是用于求和或计算平均值。 如果你是所有者,可以在 Power BI Desktop 中打开数据集,然后使用“建模”选项卡更改数据类型。

答:另一种可能的原因是,你已将字段放入只允许分类值的存储桶中。 在这种情况下,只能选择“计数”和“非重复计数”选项。

答:第三种可能的原因是,你要对坐标轴使用此字段。 例如,在条形图坐标轴上,Power BI 每条显示一个非重复值,完全不会聚合字段值。 注意:上述规则有一个例外,就是散点图,这种图表需要聚合 X 轴和 Y 轴的值。

问:我有一个散点图,但希望不聚合字段。 该怎么办?

答:请将字段添加到“详细信息”存储桶,而不是 X 轴或 Y 轴存储桶中。

问:向可视化效果添加数值字段时,大多数情况下默认聚合为求和,但在一些情况下默认聚合为计算平均值/计数或其他一些聚合。 为什么默认聚合并不总是相同?

答:数据集所有者可以视情况设置每个字段的默认汇总。 如果你是数据集所有者,可以在 Power BI Desktop 的“建模”选项卡中更改默认汇总。

问:我数值字段,为什么我在下拉列表中看不到任何聚合选项?

答:如果字段有计算器图标,表明它是计算度量值,每个计算度量值都有自己的硬编码公式,无法在 Power BI 服务中进行更改。 正在进行的计算可能是简单的聚合(如计算平均值或求和),但也可能是更为复杂的聚合(如“在父类别中所占百分比”或“自年初累计总和”)。 Power BI 不会进行求和或计算平均值,只会(使用硬编码公式)针对每个数据点重新进行计算。

问:我是数据集所有者,我想确保字段永不进行聚合。该怎么办?

答:请在 Power BI Desktop 的“建模”选项卡中,将“数据类型”设置为“文本”。

问:我在下拉列表中看不到不汇总选项。该怎么办?

答:请尝试删除字段,然后重新添加。

更多问题? 尝试参与 Power BI 社区