扩展数据模型
本章将学习如何扩展在前面章节中创建的数据模型。扩展数据模型包括:
- 添加表
- 在现有表中添加计算列
- 在现有表中创建度量值
其中,创建度量值至关重要,因为它涉及在数据模型中提供新的数据洞察,这将使使用数据模型的人员避免返工,并节省分析数据和决策的时间。
由于损益分析涉及使用时间段,并且您将使用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")
生成的日期表如下面的屏幕截图所示。
使用“日期”列作为具有唯一值的列,将“日期”表标记为日期表,如下面的屏幕截图所示。
添加计算列
要创建财务数据表和日期表之间的关系,您需要在财务数据表中有一列日期值。
使用DAX公式在财务数据表中添加计算列“日期”:
= DATEVALUE ('Finance Data'[Fiscal Month])
定义数据模型中表之间的关系
数据模型中包含以下表:
- 数据表 - 财务数据
- 查找表 - 账户和地理位置
- 日期表 - 日期
要定义数据模型中表之间的关系,步骤如下:
在Power Pivot的图表视图中查看这些表。
创建表之间的以下关系:
财务数据表和账户表之间使用“账户”列的关系。
财务数据表和地理位置表之间使用“利润中心”列的关系。
财务数据表和日期表之间使用“日期”列的关系。
隐藏客户端工具中的列
如果数据表中存在任何您不会在任何透视表中用作字段的列,则可以将它们隐藏在数据模型中。然后,它们将不会在透视表字段列表中可见。
在财务数据表中,您有4列 - 财政月份、日期、账户和利润中心,您不会在任何透视表中将它们用作字段。因此,您可以将它们隐藏,以便它们不会出现在透视表字段列表中。
在财务数据表中选择列 - 财政月份、日期、账户和利润中心。
右键单击并选择下拉列表中的“从客户端工具中隐藏”。
在表中创建度量值
您已准备好使用数据模型和Power Pivot表使用DAX进行数据建模和分析。
在后续章节中,您将学习如何创建度量值以及如何在Power Pivot表中使用它们。您将在数据表(即财务数据表)中创建所有度量值。
您将在数据表 - 财务数据中使用DAX公式创建度量值,您可以在任意数量的透视表中使用这些度量值进行数据分析。度量值本质上是元数据。在数据表中创建度量值是数据建模的一部分,在Power Pivot表中对它们进行汇总是数据分析的一部分。