扩展数据模型

在本章中,您将学习如何扩展前几章中创建的数据模型。扩展数据模型包括 −

  • 添加表格
  • 在现有表格中添加计算列
  • 在现有表格中创建度量值

其中,创建度量值至关重要,因为它涉及在数据模型中提供新的数据洞察,使使用数据模型的人避免返工,并在分析数据和决策时节省时间。

由于损益分析涉及处理时间段,并且您将使用 DAX 时间智能函数,因此您需要在数据模型中使用日期表。

如果您不熟悉日期表,请阅读章节 - 了解日期表。

您可以按如下方式扩展数据模型 −

  • 要创建数据表(即财务数据表)和日期表之间的关系,您需要在财务数据中创建一个计算列日期表。

  • 要执行不同类型的计算,您需要在数据表 - 财务数据和查找表 - 帐户和地理位置之间创建关系。

  • 您需要创建各种度量值,以帮助您执行多项计算并进行所需的分析。

这些步骤本质上构成了使用数据模型进行损益分析的数据建模步骤。但是,这是您想要使用 Power Pivot 数据模型执行的任何类型的数据分析的步骤顺序。

此外,您将在后续章节中学习如何创建度量值以及如何在 Power PivotTable 中使用它们。这将使您充分了解使用 DAX 进行数据建模和使用 Power PivotTables 进行数据分析。

向数据模型添加日期表

按如下方式为跨越财政年度的时间段创建日期表 −

  • 在新的 Excel 工作表中创建一个带有标题的单列表格 – 日期和连续日期,范围从 2011 年 7 月 1 日到 2018 年 6 月 30 日。

  • 从 Excel 复制表格并将其粘贴到 Power Pivot 窗口中。这将在 Power Pivot 数据模型中创建一个新表。

  • 将表命名为 Date。

  • 确保 Date 表中的 Date 列的数据类型为 Date (DateTime)。

接下来,您需要将计算列 – 财政年度、财政季度、财政月份和月份添加到 Date 表,如下所示 −

财政年度

假设财政年度结束于 6 月 30 日。那么,财政年度从 7 月 1 日到 6 月 30 日。例如,2011 年 7 月 1 日 (7/1/2011) 至 2012 年 6 月 30 日 (6/30/2012) 期间为 2012 财政年度。

在日期表中,假设您想要将其表示为 FY2012。

  • 您需要先提取日期的财政年度部分,然后将其附加为 FY。

    • 对于 2011 年 7 月至 2011 年 12 月的日期,财政年度为 1+2011。

    • 对于 2012 年 1 月至 2012 年 6 月的日期,财政年度为 0+2012。

    • 概括地说,如果财政年度结束月份是 FYE,请执行以下操作 −

      ((Month – 1)/FYE) + Year 的整数部分

    • 接下来,取最右边的 4 个字符以获取财政年度。

  • 在 DAX 中,您可以将其表示为 −

    RIGHT(INT((MONTH('Date'[Date])-1)/'Date'[FYE])+YEAR('Date'[Date]),4)

  • 使用 DAX 公式 − 在 Date 表中添加计算列 Fiscal Year

    ="FY"&RIGHT(INT((MONTH('Date'[Date])-1)/'Date'[FYE])+YEAR('Date'[Date]),4)

财政季度

如果 FYE 代表财政年度结束的月份,则财政季度的获取方式为

(((Month+FYE-1)/12) + 3)/3 的余数) 的整数部分

  • 在 DAX 中,您可以将其表示为 −

    INT((MOD(MONTH('Date'[Date])+'Date'[FYE]-1,12)+3)/3)

  • 使用 DAX 公式 − 在 Date 表中添加计算列 Fiscal Quarter

    ='Date'[FiscalYear]&"-Q"&FORMAT( INT((MOD(MONTH('Date'[Date]) + 'Date'[FYE]-1,12) + 3)/3), "0")

Fiscal Month

如果 FYE 代表财政年度结束,则财政月份期间的获取方式为

(Remainder of (Month+FYE-1)/12) + 1

  • 在 DAX 中,您可以将其表示为 −

    MOD(MONTH('Date'[Date])+'Date'[FYE]-1,12)+1

  • 使用 DAX 公式 − 在 Date 表中添加计算列 Fiscal Month

    ='Date'[Fiscal Year]&"-P" & FORMAT(MOD(MONTH([Date])+[FYE]-1,12)+1,"00")

月份

最后,添加计算列月份,表示财政年度中的月份数,如下所示 −

=FORMAT(MOD(MONTH([Date])+[FYE]-1,12)+1,"00") & "-" & FORMAT([Date],"mmm")

生成的日期表如以下屏幕截图所示。

Month

将表 – Date 标记为日期表,并将列 – Date 标记为具有唯一值的列,如以下屏幕截图所示。

标记为表

添加计算列

要创建财务数据表和日期表之间的关系,您需要在财务数据表中有一列日期值。

  • 使用 DAX 公式 − 在财务数据表中添加计算列日期

    = DATEVALUE ('财务数据'[财政月份])

定义数据模型中表格之间的关系

数据模型中有以下表格 −

  • 数据表 - 财务数据
  • 查找表 - 帐户和地理位置
  • 日期表 - 日期

要定义数据模型中表格之间的关系,请按照以下步骤 −

  • 在 Power Pivot 的图表视图中查看表格。

  • 在表格之间创建以下关系 −

    • 财务数据表和带有帐户列的帐户表之间的关系。

    • 财务数据表和地理位置之间的关系带有"利润中心"列的"Locn"表。

    • 带有"日期"列的"财务数据"表和"日期"表之间的关系。

关系

从客户端工具隐藏列

如果数据表中有任何列您不会用作任何数据透视表中的字段,您可以在数据模型中隐藏它们。然后,它们将不会显示在数据透视表字段列表中。

在财务数据表中,您有 4 列 - 财务月份、日期、帐户和利润中心,您不会将它们用作任何数据透视表中的字段。因此,您可以隐藏它们,使它们不出现在数据透视表字段列表中。

  • 在财务数据表中选择列 - 会计月份、日期、帐户和利润中心。

  • 右键单击并在下拉列表中选择从客户端工具中隐藏。

从客户端工具中隐藏列

在表中创建度量值

您已准备好使用数据模型和 Power PivotTables 通过 DAX 进行数据建模和分析。

在后续章节中,您将学习如何创建度量值以及如何在 Power PivotTables 中使用它们。您将在数据表(即财务数据表)中创建所有度量。

您将使用数据表 - 财务数据中的 DAX 公式创建度量,您可以在任意数量的数据透视表中使用这些度量进行数据分析。度量本质上是元数据。在数据表中创建度量是数据建模的一部分,在 Power 数据透视表中汇总度量是数据分析的一部分。