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