技术开发 频道

商业智能:构建您的第一个多维数据集

  在任一情况下,您需要为事务表中的数据提供一个开始日期和一个结束日期。SSAS 可以在数据源中创建并填充一个物理表,然后使用此数据源填充在 SSAS 数据库中维护的维度,也可以简单地在 SSAS 数据库单独维护维度。

  当您需要能够支持对数据源的关系查询时,您可以选择生成物理表。单击“下一步”继续。

  在“指定源信息”页上,从“主表”下拉列表中选择“日期”。注意,键列是 DateKey。该键列必须唯一标识表中的每条记录,以便 SSAS 返回查询结果时能够正确地对数据进行聚合或分组。然后,在“名称列”下拉列表中选择“FullDateAlternateKey”。SSAS 将名称列用作标签显示给用户,而不是显示键列。

  单击“下一步”。

  在“选择维度属性”页上,选择要包括在维度中的属性,然后使用这些属性定义层次结构或其他分组标签。

  是否包括维度表中的所有属性取决于您要在 BI 解决方案中支持的问题类型。应仅添加所需数量的属性以确保 SSAS 以最优方式执行,从而避免消耗不必要的存储空间并避免太多选项给用户造成混淆。对于此维度,请选择“Calendar Year”、“Quarter”和“Month”。单击“下一步”,然后单击“完成”。

  若要确保可以唯一标识每个属性,请更新 KeyColumn 属性。通过将此属性设置为键列,确保 Month 按数字顺序正确排序,而不是按月份名称的字母顺序排序(默认排序顺序)。

  若要更新 KeyColumn 属性,请在左侧的“属性”窗格中选择“Month”。在“属性”窗口中,单击“KeyColumns”属性,然后单击省略号按钮。在“键列”对话框中,单击左箭头清除当前分配,然后双击 CalendarYear 和 MonthNumberOfYear。现在,通过单击 NameColumns 属性框中的省略号按钮,为此属性分配一个标签。选择“EnglishMonthName”,并单击“确定”。

  重复上述步骤,将 Quarter 属性的 KeyColumns 属性设置为 CalendarYear 和 CalendarQuarter,并将 NameColumns 属性设置为 Quarter。

  现在,在解决方案资源管理器中维度显示为 Date.dim,而且维度设计器(如图 3 中所示)显示在 BIDS 的主工作区中。

1

  图 3 设计器中显示的日期维度

  您可以看到维度及其关联属性,包括左侧“属性”窗格中的键属性。如果您决定稍后添加更多属性,则可以将这些属性从“数据源视图”窗格逐一拖到“属性”窗格。您只有在启动新维度时才会使用“维度向导”,但稍后可在维度设计器中进行任何所需的更改。

  现在,使用“维度向导”创建 Product 维度,将 Product 用作主表,并将 EnglishProductName 用作名称列。因为 Product 维度是雪花型架构,所以该向导包含一个附加页面来确认您想要包括相关表 ProductSubcategory 和 ProductCategory。

  接下来,向维度添加 Color 和 Size 属性。请注意,该向导将自动为雪花型表选择键列 Product Subcategory Key 和 Product Category Key。您需要在这些属性对应的名称列中添加,但必须首先完成该向导,然后您才能修改属性。

  当显示维度设计器时,选择“属性”窗格中的“Product Category Key”。在“属性”中,找到“Name”属性,将名称更改为“Category”。在“属性”窗口中向下滚动,找到“NameColumn”属性。

  在属性文本框中单击以显示省略号按钮,单击此按钮,选择 EnglishProductCategoryName,然后单击“确定”。现在,重复上述步骤,将 Product Subcategory Key 重命名为 Subcategory,并将 EnglishProductSubcategoryName 指定为其名称列。最后,将 Product Key 属性重命名为 Product。

  添加层次结构

  请注意在“属性”窗格中维度名称 Product 下面显示的蓝色波浪线。当您将光标放在此线上方时,将出现一条警告消息“在非父子维度中创建层次结构。”此消息是内置在 SSAS 2008 中的非常好的做法警告的一个示例,可帮助您正确构建 SSAS 数据库。通过单击文档工作区中的相应选项卡,或双击解决方案资源管理器中的 Date.dim,返回到 Date 维度设计器,在那里您将会看到相同的警告。

  出于几个原因,尤其是出于用户友好和优化目的,将层次结构添加到维度是公认的非常好的做法。更具体地讲,层次结构为用户提供从汇总数据到详细数据要遵循的导航路径。此外,通过允许 SSAS 在用户查询之间计算和存储聚合,还可提高查询性能。

  例如,如果用户希望按年份查看经销商销售额,而且 Date 维度中的层次结构定义从键属性 (Date Key) 到 Calendar Year 属性的汇总路径,则 SSAS 可以在处理过程中按年份计算销售数据,然后将结果放入永久存储中。此聚合存储避免了查询时计算每年销售额的需要,而且这是与从关系数据市场检索数据或从多维度数据库(如 SSAS)检索数据的主要区别。 

点击查看更多TechNet精彩文章

0
相关文章