在 SSAS 中创建维度

SSAS 维度是基于数据源视图中的维度表的属性(也就是列)的集合。所有这些属性都显示为属性层次结构,并且 Analysis Services 还为我们提供了创建用户定义层次结构(User Defined Hierarchy)的选项。

在 SSAS 中,维度有两种类型,分别是数据库维度(Database Dimension)和立方体维度(Cube Dimension)。请参阅 SSAS 中数据库维度和立方体维度之间的区别 文章,以了解 SQL Server Analysis Services 中数据库维度和立方体维度之间的区别。

创建 SSAS 维度示例

在解决方案资源管理器中,右键单击“维度”文件夹,然后从上下文菜单中选择“新建维度”以创建一个新的维度。

Create Dimension in SSAS 1

单击“新建维度”选项将打开维度向导。

SSAS 维度向导的第一页是欢迎页面。如果您不想再次看到此页面,请如以下屏幕截图所示,选择“不再显示此页面”选项,然后单击“下一步”。

下一页是“选择创建方法”,此页面提供了四种在 SSAS 中创建维度的方法。

  • 使用现有表:它将使用数据源视图中存在的现有表。
  • 在数据源中生成时间表:此选项将生成时间表并将其保存在数据源中。
  • 在服务器上生成时间表:此选项将生成时间表并将表直接保存在服务器上。
  • 在数据源中生成非时间表:此选项将生成常规表并将其保存在数据源中。它提供了一个模板,您可以在其中选择要创建客户、员工、部门、地理位置等。

通常,我们只使用第一个选项(使用现有表),因为它将使用数据源视图中所需的表。但是,如果我们不知道如何创建特定表,则可以使用此处提供的模板来设计它。

Create Dimension in SSAS 3

单击“下一步”按钮将打开“指定源信息”页面,以配置数据源视图、表和键列。

在此示例中,在 SSAS 数据源视图 文章中选择我们之前创建的数据源视图。我们打算从 DimCustomer 表创建维度。因此,从“主表”下拉列表中选择相同的表。每个维度表都需要一个键属性,CustomerKey 是该表的主键列。

Create Dimension in SSAS 4

单击“下一步”按钮将使 SSAS 维度向导进入“选择相关表”页面。在这里,它将显示依赖表(通过外键关系与 Dim Customers 连接的表)。目前,我们选择它们。

单击“下一步”按钮将打开“选择维度属性”页面。在此页面上,我们有三个部分需要理解。

  • 可用属性:它显示数据源视图中 Dim Customer 表的所有可用列(属性)。我们可以选择所有列,或者选择所需的列。始终建议选择所需的列。
  • 启用浏览:如果选中此选项,则该列将在立方体中可供浏览。如果取消选中此选项,则当客户端应用程序浏览维度时,它将不可见。有时我们可能需要 id 列用于参考目的,但不需要对其进行切片以用于数据分析,然后您可以取消选中它们以进行浏览。
  • 属性类型:SQL Server Analysis Services 在创建维度时提供了许多属性类型。选择合适的类型,如果您不知道选择哪种属性类型,则选择常规类型。例如,对于“日历年”列,选择“日历年”属性类型。
Create Dimension 6

目前,我们从 Dim Customer 中选择了一些列,并且我们也没有将属性类型从常规类型更改为合适的类型。

注意:始终建议选择特定的属性类型而不是常规类型。特别是对于时间和账户维度,我们必须指定属性类型。因为它在处理 MDX 时会有所帮助。

现在下一步是为维度命名,可以给它一个特定或任何合适的名称。在此示例中,我们将其命名为 Dim Customer。

单击“完成”按钮以完成在 SSAS 中创建维度。

从以下屏幕截图中,您可以观察到:

  • 在解决方案资源管理器中,“维度”文件夹下有一个“Dim Customer”维度。
  • 属性窗格仅包含选定的属性(列)。这些是我们使用维度向导创建维度时选择的。
  • 层次结构窗格为空,因为我们尚未创建任何用户定义层次结构。
  • 数据源视图将显示 Dim Customer 表中的所有可用列。
Create Dimension 8

好了,我们已成功创建了第一个 SSIS 维度。