Power BI是一款强大的应用程序,因其可视化数据和进行复杂的关系表计算而备受推崇。
如果您需要处理聚合数据,Power BI的度量字段功能就是您所需要的!
在本教程中,您将学习如何向数据添加度量字段,以便快速汇总和分析数据,而无需进行复杂的任务。
敬请关注!使用Power BI度量字段来可视化并深入挖掘您的数据!
先决条件
- Power BI订阅 – 免费试用即可。
- A Windows Server – This tutorial uses a Windows Server 2022.
- 已安装在您的Windows服务器上的Power BI Desktop – 本教程使用的是Power BI Desktop v2.105.664.0版本。
- 已安装在打算使用桌面版本的外部设备上的本地数据网关。
- A sample data for Power BI – This tutorial uses Contoso Sales sample data.
使用数据分析表达式(DAX)计算列
在创建数据模型时,您可以通过使用现有列创建新列来向您的表格添加内容。新列使用DAX对涉及的列进行逐行计算。DAX是一种在分析服务、Power BI和Excel的Power Pivot中使用的公式表达语言。
DAX允许您使用其函数、运算符和值执行高级计算,这在分析数据中非常关键。
要在Power BI中计算列之间的数据:
1. 双击您下载的Contoso Sales示例数据以在Power BI中打开它。
2. 单击数据图标(左侧工具栏)以访问数据选项卡,该选项卡加载从导入的表中获取的数据,如下一步所示。

3. 接下来,在字段窗格(最右侧)下选择销售表以加载表的数据。

4. 现在,点击功能区工具栏上的“新列”以创建新列。默认情况下,新创建的列名为“列”,如下所示。

5. 将DAX公式栏的内容替换为以下公式。
此公式将新列的名称从“列”更改为“TotalPrice”,返回每个UnitPrice和SalesQuantity列的乘积。
单击DAX公式栏旁边的检查图标以应用该公式。

就像下面的屏幕截图中一样,新列(TotalPrice)将显示在最后一列。

6. 更改列的格式,只需选择列标题,然后在“列工具”选项卡下尝试不同的选项。

7. 最后,创建另一列,在DAX公式栏中输入并应用以下公式。
此公式计算并返回每次销售的利润(Sales[TotalPrice] – Sales[TotalCost])。

下面,您可以看到在“利润”列下计算出的利润结果。

使用Power BI度量字段计算数据
您已经看到列可以帮助找到具有最大利润或任何行级查询的行。但要回答更复杂的问题。比如,哪家店获得了最大的利润?或者哪位销售人员获得了最大的利润?您将需要一个度量,创建Power BI度量字段将解决问题。
Power BI中有三种类型的度量,分别是自动度量、快速度量和手动度量。但首先,您将深入了解如何创建手动度量。
创建手动度量
如果您了解基础知识,创建手动度量可以帮助培养您的DAX技能。但如果您不确定DAX的工作原理,可以从以下部分开始使用自动度量和快速度量。这样,您可以在不编写任何DAX公式的情况下实际学习DAX语言。
1. 单击“新建度量”并使用DAX创建一个新度量。

2. 接下来,应用以下公式以汇总利润数据。

3. 添加您的措施后,单击报告图标(左侧工具栏)以访问报告选项卡,在那里您可以使用您的数据构建可视化图表。

4. 现在,在可视化面板下方单击矩阵可视化类型图标,以将可视化添加到仪表板中,如下所示。

5. 使用以下步骤将数据添加到矩阵可视化中:
- 展开字段(表)在字段面板下。
- 将列从字段面板拖放到可视化面板内的行、列和值下拉菜单中。

添加数据到矩阵后,突然间!您现在可以看到每个店铺每月所获利润。

6. 最后,单击总列标题以按照利润最高的店铺进行降序排序的数据。
如下图所示,Contoso 目录店是最赚钱的店铺。

使用自动措施
Power BI 在您的列数据类型为数字时会创建自动措施。默认的自动措施是求和。因此,当您将数字列添加到可视化中时,Power BI 会自动添加一个“总计”列。
这种行为在你想采取直接措施时很有帮助,但它也会影响到你不想被衡量或汇总的列。
您可以通过检查旁边是否有σ符号来确定表格是否有度量,如下所示。

查看自动度量工作的方法:
1. 向您的可视化添加一个您不希望被汇总的列,本例中为 SalesAmount。

2. 接下来,单击您添加的列旁边的向下箭头图标,并选择该列的其他度量。但是在此示例中,选择平均值。

3. 最后,查看您的可视化中的最后一列,并查看度量的变化。

创建快速度量
A quick measure can be helpful when you are getting started with DAX. This measure lets you create calculations between your tables and show you the DAX expression on the calculation you picked afterward. All these without a need for DAX knowledge.
也许您的目标是在一列中获得总价格,但不确定如何编写等效的 DAX 表达式。如果是这样,创建一个快速度量就能完成任务。
1. 从字段窗格中单击要添加度量的字段/表,并单击快速度量,如下所示。弹出一个窗口,您可以在其中选择要用于快速度量的计算(第二步)。

2. 接下来,在计算下拉字段中选择乘法,它会显示两个字段,用于相乘的值。

3. 最后,按如下指定要相乘的值的列:
- 展开字段/表部分下的一个包含您计划相乘值的字段/表。在本例中,为Sales表。
- 拖放UnitPrice列到基础值字段,并将SalesQuantity列添加到要与之相乘的值字段。
- 指定要添加的列后,单击确定以添加新度量。

现在,您有一个新的度量,可以将其添加到可视化中,而无需编写DAX公式,如下所示。

通过切片可视化筛选数据
以前,您已经回答了哪家商店最有利可图。尽管答案很详细,但可能并不令人满意,或者您获取了太多信息。
如果您的目标是分析去年谁获利最多呢?这时切片器对您的仪表板至关重要。切片器帮助将数据切成小块,帮助您获得更详细的信息。
1. 为MonthName列添加一个切片器可视化:
- 点击当前选定的切片器以取消选择它。
- 在可视化窗格下选择切片器可视化类型图标,将切片器添加到您的仪表板中。
- 在日历表下的MonthName列下勾选框,将其添加到切片器中。

2. 接下来,为Year列添加另一个切片器:
- 取消选择当前选定的切片器,然后再次点击切片器可视化类型图标以添加新的可视化。
- 在Year列下勾选框,将该列添加到切片器中。
感谢使用切片器,您已经获得了更多信息,数据的时间跨度从2005年到2018年,如下所示。

3. 拖动滑块滚动年份。一旦释放滑块,您将看到销售额从2011年到2018年开始。

4. 现在,在矩阵可视化中过滤数据,具体操作如下:
- 现在,在月份切片器中勾选十二月。
- 将年份设置为2012年,在年份切片器中输入。
完成这些更改后,您可以查看在2012年12月哪家商店获得了最多的利润,如下所示:Contoso北美在线商店。

5. 最后,为DayOfMonth列添加另一个切片器,并将字段值设置为5。
检查您的矩阵切片器,您将看到哪家商店在2012年12月5日获得了最多的利润,仍然是Contoso北美在线商店。

结论
度量可以在查看数据时为您提供优势,特别是包含数字的数据。在本教程中,您已经学会了如何使用Power BI聚合这些数字。到这一步,您应该有足够的信心通过分析您的数据来回答与数量相关的问题,使用Power BI度量字段。
尽管度量非常出色,但通过添加切片器可从您的数据中获得更具体的细节。这些信息可以对业务决策产生良好的影响,并且实施起来非常迅速。
使用这些新发现的知识,您想要深入研究DAX来创建手动度量,以实现更个性化的数据可视化吗?还是您会选择快速或自动度量?