扩展数据模型



本章将学习如何扩展在前面章节中创建的数据模型。扩展数据模型包括:

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

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

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

如果您不熟悉日期表,请阅读“理解日期表”一章。

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

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

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

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

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

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

向数据模型添加日期表

为跨越财政年度的时间段创建一个日期表,方法如下:

  • 在一个新的Excel工作表中创建一个只有一个列的表,标题为“日期”,包含从2011年7月1日至2018年6月30日的连续日期。

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

  • 将表命名为“日期”。

  • 确保日期表中的“日期”列的数据类型为日期(DateTime)。

接下来,您需要向日期表添加计算列 - 财政年度、财政季度、财政月份和月份,方法如下:

财政年度

假设财政年度结束日期为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,请执行以下操作:

      整数部分(((月份 – 1)/FYE) + 年份)

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

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

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

  • 使用DAX公式在日期表中添加计算列“财政年度”:

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

财政季度

如果FYE代表财务年度结束月份,则财务季度可获得为

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

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

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

  • 使用DAX公式在日期表中添加计算列“财政季度”:

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

财政月份

如果FYE代表财务年度结束月份,则财务月份可获得为

((月份+FYE-1)/12的余数) + 1

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

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

  • 使用DAX公式在日期表中添加计算列“财政月份”:

    ='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

使用“日期”列作为具有唯一值的列,将“日期”表标记为日期表,如下面的屏幕截图所示。

Mark as the table

添加计算列

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

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

    = DATEVALUE ('Finance Data'[Fiscal Month])

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

数据模型中包含以下表:

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

要定义数据模型中表之间的关系,步骤如下:

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

  • 创建表之间的以下关系:

    • 财务数据表和账户表之间使用“账户”列的关系。

    • 财务数据表和地理位置表之间使用“利润中心”列的关系。

    • 财务数据表和日期表之间使用“日期”列的关系。

Relationships

隐藏客户端工具中的列

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

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

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

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

Hiding Columns from Client Tools

在表中创建度量值

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

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

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

广告