显示 Power BI 中不含数据的项目

您所在的位置:网站首页 powerbi显示月份 显示 Power BI 中不含数据的项目

显示 Power BI 中不含数据的项目

#显示 Power BI 中不含数据的项目| 来源: 网络整理| 查看: 265

显示 Power BI 中不含数据的项目 项目03/15/2024

适用范围: Power BI Desktop Power BI 服务

Power BI 允许你可视化来自各种源的数据。 创建视觉对象时,Power BI 仅显示相关数据,以便正确地管理数据的显示方式。 Power BI 根据视觉对象的配置和基础数据模型确定相关的具体数据。 本文介绍 Power BI 如何确定相关数据。 我们还添加了说明如何做出决定的示例。

确定相关数据

若要阐述 Power BI 如何确定要显示的相关数据,让我们将表看作一个简单的示例。 使用本文末尾的示例数据模型部分中介绍的模型,考虑通过以下设置生成一个表:

1. 来自同一个表的组:Product[Color] - Product[Size]

Product[Color] Product[Size] 蓝色 大型 蓝色 中等 蓝色 小型 Red 大型

在此示例中,Power BI 显示表“[Product]”中存在的“[Color-Size]”的组合。

现在让我们看看其他组合:

2. 来自不同但直接相关的表的组且包含一个度量值:ProductStyle[Finish] - Product[Color] - Sum(Sales[Quantity])

ProductStyle[Finish] Product[Color] Sum(Sales[Quantity]) 光泽 蓝色 10 亚光 蓝色 15

在此示例中,Power BI 仅显示存在的组合。 不会显示模型中不存在的组合,例如(“无”+“蓝色”)或(“亚光”+“红色”)。 确定存在哪些组合的条件是“Sum(Sales[Quantity])”的值不为空。

让我们看看其他情况:

3. 来自不同但直接相关的表的组且不包含度量值:ProductStyle[Finish] - Product[Color]

ProductStyle[Finish] Product[Color] 光泽 蓝色 光泽 Red 亚光 蓝色

由于没有显式度量值且这两个表直接相关,因此 Power BI 尝试注入度量值来约束生成的组合。 在本例中,Power BI 会注入 CALCULATE(COUNTROWS('Product')) 度量值,该值不应为空,因为“Product”是两个表共有的。

在本例中,Power BI 会显示“产品”表中包含条目的组合,不会显示(“无”+“蓝色”)和(“亚光”+“红色”)的组合 。

4. 来自不同且不相关的表的组

示例模型不包含此组合,但如果存在来自不同且不相关的表的组,Power BI 将无法关联两个列。 结果将是每个列的所有值的叉积。 在这种情况下,Power BI 会引发“无约束联接”类型的错误,因为此类叉积在数据库中计算的成本很高,并且不会向用户提供很多信息。

显示不含数据的项目

前面部分介绍了 Power BI 如何确定要显示的相关数据。 但是,有时候可能需要显示不含数据的项。

利用“显示不含数据的项”功能,可以包括不含度量值数据(空度量值)的数据行和列。

若要启用“显示不含数据的项”功能,请执行以下步骤:

选择一个视觉对象。 在“值”字段中,右键单击该字段并从显示的菜单中选择“显示不含数据的项”,如下图所示 :

“显示不含数据的项”功能在以下情况下不起任何作用:

未向视觉对象添加度量值,分组列来自同一个表。 各个组不相关。 Power BI 不会为具有不相关的组的视觉对象运行查询。 度量值与所有组均无关。 在这种情况下,度量值不会仅针对某些组的组合为空。 有一个用户定义的不含空度量值的度量值筛选器。 例如:SalesAmount > 0

注意

通过启用“显示不含数据的项”选项,可能会降低性能,并可能导致视觉对象呈现缓慢或数据导出超时。

“显示不含数据的项目”的工作原理

“显示不含数据的项”的最有趣用法是存在度量值的情况。 假设存在组来自同一个表或可以通过模型中的路径进行关联的情况。 例如,“ProductStyle”与“Product”直接相关,与“Sales”间接相关。 可以通过“Product”表关联“ProductStyle”和“ProductCategory”。

让我们看看以下几个有趣的情况,并在关闭和打开“显示不含数据的项”时进行比较。

1. 对同一个表中的列进行分组:Product[Color] - Product[Size] - Sum(Sales[Quantity])

关闭“显示不含数据的项”功能时的显示方式:

Product[Color] Product[Size] Sum(Sales[Quantity]) 蓝色 中等 15 蓝色 小型 10

打开“显示不含数据的项”功能时的显示方式:

Product[Color] Product[Size] Sum(Sales[Quantity]) 蓝色 大型 蓝色 中等 15 蓝色 小型 10 Red 大型

请注意两个新组合在打开此功能时的显示方式:“蓝色 - 大型”和“红色 - 大型”。 这两个条目在“Sales”表中没有相应的“Quantity”。 但是,它们显示在“Product”表中。

2. 对相关表中的列进行分组:ProductStyle[Finish] - Product[Color] - Sum(Sales[Quantity])

关闭“显示不含数据的项”功能时的显示方式:

ProductStyle[Finish] Product[Color] Sum(Sales[Quantity]) 光泽 蓝色 10 亚光 蓝色 15

打开“显示不含数据的项”功能时的显示方式:

ProductStyle[Finish] Product[Color] Sum(Sales[Quantity]) 光泽 蓝色 10 光泽 Red 亚光 蓝色 15 无

注意 “光泽-红色”和“无、空白”显示为组合的方式。 下面是它们出现的原因:

Power BI 首先考虑“ProductStyle[Finish]”,然后选择所有要显示的值,这样就生成了“光泽、亚光、无”。 使用其中的每个值,Power BI 选择了所有相应的“Product[Color]”条目。 “无”与任何“Product[Color]”都不对应,因此该值显示为空白。

值得注意的是,选择列值的机制依赖于顺序,并且可以将其视为表之间的“左外部联接”操作。 如果列的顺序更改,那么结果也会更改。

现在请看更改顺序的示例,以及此更改对结果的影响。 此示例与此部分中的第二项相同,但更改了顺序。

Product[Color] - ProductStyle[Finish] - Sum(Sales[Quantity])

打开“显示不含数据的项”功能时的显示方式:

Product[Color] ProductStyle[Finish] Sum(Sales[Quantity]) 蓝色 光泽 10 蓝色 亚光 15 Red 光泽

注意“ProductStyle[Finish]=None”没有显示在表中。 在本例中,Power BI 先选择了“Product”表中的所有“Color”值。 然后,对于每种颜色,Power BI 选择了相应的“Finish”值,其中包含数据。 由于“无”未显示在“颜色”的任何组合中,因此未选中该项。

Power BI 视觉对象行为

在视觉对象中的一个字段上启用“显示无数据的项目”后,将自动为该同一视觉对象 Bucket 或层次结构中的其他所有字段启用该功能。 视觉对象 Bucket 或层次结构可以是其轴或图例,也可以是类别、行或列 。

例如,在“行”Bucket 中的带有四个字段的矩阵视觉对象上,如果一个字段启用“显示不含数据的项”,则矩阵中的所有项目都将启用它。 在下图中,在“行”Bucket 的第一个字段“SupplierID”字段中启用了“显示无数据的项目”。 “行”Bucket 中的其他字段也会自动启用该功能。

相反,“列”Bucket 中显示的“洲”字段不会自动启用“显示不含数据的项” 。

如果将视觉对象转换为不同类型(例如,将矩阵视觉对象转换为表视觉对象),通常会看到此视觉对象行为。 在此类转换中,移动到 Bucket 中的任何字段都将自动启用“显示无数据的项目”,其中 Bucket 中的字段已启用该功能。 在上述示例中,如果“SupplierID”启用了“显示不含数据的项”功能且视觉对象转换为表格,则“列”Bucket 中的“Continent”字段(以及“行”Bucket 中的字段)将移动到表视觉对象所使用的唯一 Bucket(即“值”Bucket)中。 因此,“值”Bucket 中的所有字段都将启用“显示不含数据的项”。

导出数据

使用“导出汇总数据”功能时,“显示不含数据的项”功能的行为与导出转换为表视觉对象时的行为相同。 因此,在导出图表矩阵视觉对象等视觉对象时,导出的数据可能与显示的视觉对象不同。 产生这种行为的原因是,作为导出过程的一部分,转换为表视觉对象为要导出的所有字段启用“显示不含数据的项”。

示例数据模型

本部分介绍本文中的示例使用的示例数据模型。

模型:

数据:

Product[ProductId] Product[ProductName] Product[Color] Product[Size] Product[CategoryId] Product[StyleId] 1 Prod1 蓝色 小型 1 1 2 Prod2 蓝色 中型 2 2 3 Prod3 Red 大型 1 1 4 Prod4 蓝色 大型 2 2 ProductCategory[CategoryId] ProductCategory[CategoryName] 1 电话 2 照相机 3 TV ProductStyle[StyleId] ProductStyle[Finish] ProductStyle[Polished] 1 光泽 是 2 亚光 否 3 无 否 Sales[SaleId] Sales[ProductId] Sales[Date] Sales[Quantity] 1 1 2012 年 1 月 1 日 0:00 10 2 2 2013 年 1 月 1 日 0:00 15 相关内容

本文介绍了如何在 Power BI 中启用“显示不含数据的项目”功能。 你可能还会对以下文章感兴趣:

Power BI 中多维模型的默认成员


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3