第 6 课:创建计算列

在本课中,你将通过添加计算列在模型中创建新数据。 计算列基于模型中已存在的数据。 若要了解详细信息,请参阅计算列(SSAS 表格)。

您将在三个不同的表中创建五个新的计算列。 每个任务的步骤略有不同。 这是为了向你展示创建新列、重命名列并将其放置在表中的各个位置的几种方法。

完成本课程的估计时间: 15 分钟

先决条件

本主题是表格建模教程的一部分,应按顺序完成。 在执行本课程中的任务之前,应已完成上一课: 第 5 课:创建关系

创建计算列

在日期表中创建月份日历计算列

  1. 在 SQL Server Data Tools 中,单击“ 模型 ”菜单,然后指向 “模型视图”,然后单击“ 数据视图”。

    只能在数据视图中使用模型设计器创建计算列。

  2. 在模型设计器中,单击 “日期 ”表(选项卡)。

  3. 右键单击 “日历季度 ”列,然后单击“ 插入列”。

    名为 CalculatedColumn1 的新列插入到 日历季度 列的左侧。

  4. 在表格上方的编辑栏中,键入以下公式。 AutoComplete 可帮助你键入列和表的完全限定名称,并列出可用的函数。

    =RIGHT(" " & FORMAT([Month],"#0"), 2) & " - " & [Month Name]

    生成完公式后,按 Enter。

    然后,为计算列中的所有行填充值。 如果向下滚动到表,将看到行可以具有此列的不同值,具体取决于每一行中的数据。

    注释

    如果收到错误,请验证公式中的列名称与第 3 课中更改的列名匹配 :重命名列

  5. 将此列重命名为 Month Calendar.

“月历”计算字段提供可排序的月份名称。

在“日期”表中创建“星期几”计算列

  1. “日期 ”表仍然处于活动状态时,单击“ ”菜单,然后单击“ 添加列”。

    新列将添加到表最右侧

  2. 在编辑栏中,键入以下公式:

    =RIGHT(" " & FORMAT([Day Number Of Week],"#0"), 2) & " - " & [Day Name]

    生成完公式后,按 Enter。

  3. 将列重命名为 Day of Week.

  4. 单击列标题,然后在 “日期名称” 列和 “月份日期” 列之间拖动该列。

    小窍门

    移动表格中的列使导航更简便。

一周中的天计算列提供了可排序的名称。

在 Product 表中创建 Product 子类别名称计算列

  1. 在模型设计器中,选择 Product 表。

  2. 滚动到表格的最右边。 请注意,最右侧的列名为 “添加列 ”(斜体),请单击列标题。

  3. 在编辑栏中,键入以下公式。

    =RELATED('Product Subcategory'[Product Subcategory Name])

    生成完公式后,按 Enter。

  4. 将列重命名为 Product Subcategory Name.

计算的“产品子类别名称”列用于在产品表中创建层次结构,该层次结构包含来自产品子类别表中的“产品子类别名称”列的数据。 层次结构不能跨越多个表。 稍后将在第 7 课中创建层次结构。

在产品表中创建产品类别名称计算列

  1. 如果 Product 表仍然处于活动状态,请单击“ ”菜单,然后单击“ 添加列”。

  2. 在编辑栏中,键入以下公式:

    =RELATED('Product Category'[Product Category Name])

    生成完公式后,按 Enter。

  3. 将列重命名为 Product Category Name.

在 Product 表中,使用计算列“产品类别名称”创建一个层次结构,其中的数据信息来自 Product Category 表中的“产品类别名称”列。 层次结构不能跨越多个表。

在 Internet Sales 表中创建利润率计算列

  1. 在模型设计器中,选择 “Internet Sales ”表。

  2. 添加新列。

  3. 在编辑栏中,键入以下公式:

    =[Sales Amount]-[Total Product Cost]

    生成完公式后,按 Enter。

  4. 将列重命名为 Margin.

  5. 将列拖到 “销售额 ”列和 “税务 Amt ”列之间。

利润计算列用于分析每个产品行的利润率。

下一步

若要继续本课程,请转到下一课: 第 7 课:创建度量值