第 6 课:创建计算列
在本课中,将通过添加计算列在模型中创建新数据。 计算列基于模型中的现有数据。 若要了解详细信息,请参阅 SSAS 表格) (计算列 。
将在三个不同的表中创建五个计算列。 步骤对于每个任务略有不同。 这是为了说明有多种方法可用来创建新列、对其进行重命名,以及将其放置在表中的各种位置。
学完本课的估计时间: 15 分钟
先决条件
本主题是表格建模教程的一部分,应当按顺序完成。 在执行本课程中的任务之前,须已完成上一课: 第 5 课:创建关系。
创建计算列
在 Date 表中创建 Month Calendar 计算列
在SQL Server Data Tools中,单击“模型”菜单,指向“模型视图”,然后单击“数据视图”。
只能在数据视图中使用模型设计器创建计算列。
在模型设计器中,单击“Date”表(选项卡)。
右键单击“ 日历季度” 列,然后单击“ 插入列”。
在“日历季度”列的左侧插入名为 CalculatedColumn1 的新列。
在表上面的编辑栏中,键入以下公式。 “自动完成”可帮助你键入列和表的完全限定名称,并将列出可用的函数。
=RIGHT(" " & FORMAT([Month],"#0"), 2) & " - " & [Month Name]
在您完成公式的建立后,按 Enter。
然后,会在计算列中为所有行填充值。 如果在表中向下滚动,会看到,根据每行中的数据,各行中的此列可能具有不同的值。
注意
如果收到错误提示,请验证确保公式中的列名与在 第 3 课:重命名列中更改的列名是否匹配。
将此列重命名为
Month Calendar
。
Month Calendar 计算列提供可排序的月份名称。
在 Date 表中创建 Day of Week 计算列
在“Date”表仍处于活动状态时,单击“列”菜单,然后单击“添加列”。
一个新列添加到表的最右侧。
在公式栏中,键入以下公式:
=RIGHT(" " & FORMAT([Day Number Of Week],"#0"), 2) & " - " & [Day Name]
在您完成公式的建立后,按 Enter。
将列重命名为
Day of Week
。单击列标题,然后将此列拖到“Day Name”列与“Day of Month”列之间。
提示
移动表中的列可使表变得更易于浏览。
Day of Week 计算列为周内的日期提供可排序的名称。
在 Product 表中创建 Product Subcategory Name 计算列
在模型设计器中,选择“Product”表。
滚动到表的最右侧。 请注意,最右侧的列名为“添加列”(斜体),单击列标题。
在公式栏中,键入以下公式。
=RELATED('Product Subcategory'[Product Subcategory Name])
在您完成公式的建立后,按 Enter。
将列重命名为
Product Subcategory Name
。
Product Subcategory Name 计算列用于在 Product 表中创建一个层次结构,其中包括来自 Product Subcategory 表中 Product Subcategory Name 列的数据。 层次结构不能跨多个表。 您将在第 7 课中创建层次结构。
在 Product 表中创建 Product Category Name 计算列
在“Product”表仍处于活动状态时,单击“列”菜单,然后单击“添加列”。
在公式栏中,键入以下公式:
=RELATED('Product Category'[Product Category Name])
在您完成公式的建立后,按 Enter。
将列重命名为
Product Category Name
。
Product Category Name 计算列用于在 Product 表中创建一个层次结构,其中包括来自 Product Category 表中 Product Category Name 列的数据。 层次结构不能跨多个表。
在 Internet Sales 表中创建 Margin 计算列
在模型设计器中,选择“Internet Sales”表。
添加新列。
在公式栏中,键入以下公式:
=[Sales Amount]-[Total Product Cost]
在您完成公式的建立后,按 Enter。
将列重命名为
Margin
。将此列拖到“Sales Amount”列与“Tax Amt”列之间。
Margin 计算列用来分析每个(产品)行的毛利润率。
下一步
若要继续学习本课程,请转到下一课: 第 7 课:创建度量值。