在 Power BI 中使用多维语义模型

可以在 Power BI 中连接到多维语义模型,并创建报表来可视化模型中的所有类型的数据。 借助多维语义模型,Power BI 根据哪个列定义为 默认成员,将规则应用于处理数据的方式。

借助多维语义模型,Power BI 基于使用包含 默认成员 的列的位置处理来自模型的数据。 属性层次结构的 DefaultMember 属性值在 CSDL(概念模式定义语言)中为多维模型中的特定列设置。 有关默认成员的详细信息,请参阅 属性属性 - 定义默认成员。 执行数据分析表达式 (DAX) 查询时,将自动应用模型中指定的默认成员。

本文介绍使用多维语义模型时,Power BI 在各种情况下的行为方式,具体取决于找到默认成员的位置。

使用筛选器卡

在具有默认成员的字段上创建筛选器卡时,默认成员字段值会自动在筛选器卡片中选择。 结果是,受筛选器卡影响的所有视觉对象都会在数据库中保留其默认模型。 此类筛选器卡中的值显示默认成员。

如果删除了默认成员,则取消选择该值可清除筛选器卡应用到的所有视觉对象,并且显示的值不会反映默认成员。

例如,假设我们有一列货币,默认成员设置为USD

  • 在这个示例中,如果我们有一张显示 总销售额 的卡片,那么该值将会应用默认成员,并显示与 美元 相对应的销售额。
  • 如果将 “货币 ”拖到“筛选器卡”窗格,我们将 美元 视为所选的默认值。 总销售额的值保持不变,因为应用了默认成员。
  • 但是,如果我们从筛选卡中取消选择 美元 值,则会清除 货币 的默认成员,现在 总销售额 反映所有货币。
  • 当我们在筛选卡中选择另一个值(假设我们选择 EURO),沿默认成员, “总销售额 ”反映了筛选器 货币的 {USD, EURO}

对视觉对象进行分组

在 Power BI 中,每当对具有默认成员的列的视觉对象进行分组时,Power BI 将清除该列的默认成员及其属性关系路径。 此行为可确保视觉对象显示所有值,而不只是显示默认值。

属性关系路径(ARP)

属性关系路径(ARP)提供具有强大功能的默认成员,但也引入了一定的复杂性。 遇到 ARP 时,Power BI 会遵循 ARP 的路径清除其他列的默认成员,以便为视觉对象提供一致且精确的数据处理。

让我们看看一个阐明行为的示例。 请考虑以下 ARP 配置:

关系图表示多维模型中的 ARP。

现在,假设为这些列设置了如下默认成员:

  • 西雅图市>
  • 州 > WA
  • 美国国家/地区>
  • 人口 > 大

现在,让我们来看看在 Power BI 中使用每个列时会发生什么情况。 在以下列分组可视化时,结果如下:

  • City - Power BI 通过清除 城市国家/地区 的所有默认成员来显示所有城市,但保留 人口的默认成员;Power BI 清除了整个 ARP for City

    注释

    人口 不在 城市 ARP 路径中,它完全与 相关,因此 Power BI 并不清楚它。

  • State - Power BI 通过清除国家/地区人口的所有默认成员来显示所有
  • 国家/地区 - Power BI 通过清除 城市 和国家/地区的所有默认成员来显示所有国家 /地区,但保留 人口的默认成员。
  • 城市和州 - Power BI 清除所有列的所有默认成员。

可视化中显示的组已被清除整个 ARP 路径。

如果某个组未在可视化中显示,但属于另一分组选定列的 ARP 路径的一部分,则适用以下规定:

  • 并非所有 ARP 路径的分支都会自动清除。
  • 该组仍由未清除的默认成员进行筛选。

切片器和筛选卡片

使用切片器或筛选卡时,会发生以下行为:

  • 当切片器或筛选器卡加载数据时,Power BI 在视觉对象中按列进行分组,因此显示行为与上一节中所述的相同。

由于切片器和筛选器卡通常用于与其他视觉对象交互,因此清除受影响视觉对象的默认成员的逻辑如下表所述。

对于此表,我们将使用本文前面所述的相同示例数据:

显示基于组和筛选条件选择的预期结果的表的屏幕截图。

以下规则适用于 Power BI 在这些情况下的行为方式。

如果满足以下条件,Power BI 将为指定列清除默认成员:

  • 该列上的 Power BI 组。
  • 与该列相关的列上的 Power BI 组(ARP 中的任意位置,向上或向下)。
  • Power BI 对 ARP 中的某列进行筛选(升序或降序)。
  • 该列有一个筛选器卡,其中已声明 ALL
  • 该列具有一个筛选卡片,可以选择任意值(Power BI 接收该列的筛选器)。

如果为指定列,Power BI 不会清除默认成员:

  • 该列有一个默认设置的筛选器卡,Power BI 在其 ARP 中对某列进行分组。
  • 列位于 ARP 中的另一列之上,Power BI 为该另一列提供了默认状态的筛选器卡。

本文介绍了在多维语义模型中使用默认成员时 Power BI 的行为。 你可能还会对以下文章感兴趣: