若要向 Date 维度添加层次结构,请在维度设计器中,将 Calendar Year 属性从“属性”窗格拖到“层次结构”窗格。在您添加第一个属性后,将出现一个层次结构对象,并且在刚刚添加的属性下面有一个新的空级别。通过将 Quarter 和 Month 属性分别放入空级别的空间内,将这两个属性添加到层次结构中。接下来,通过右键单击“层次结构”,再单击“重命名”并键入“Year”来重命名层次结构。
尽管您添加了一个层次结构,但仍然出现关于 Date 维度的警告。将光标放在波浪线上可看到新警告“避免将属性的可见属性层次结构用作用户定义的层次结构中的级别。”这条消息建议您防止用户在属性已包含在层次结构中时查看属性本身。换句话说,用户只有在层次结构内部进行导航时才能查看属性。
根据我的经验,您应该结合用户做出这个决定。如果您决定处理此警告,则选择“属性”窗格中的“Quarter”,然后在“属性”窗口中,将 AttributeHierarchyVisible 值更改为 False。
属性关系
在层次结构本身上显示另一条警告。在这种情况下,此消息将警告可能引发了性能问题,因为层次结构的一个或多个级别之间的属性关系丢失。属性关系由 SSAS 用来优化查询性能和聚合设计,以减少维度所需的存储量并加快数据库处理时间。
单击维度设计器中的“属性关系”选项卡。(请注意,仅当您在使用 Analysis Services 2008 时此选项卡才可用。)默认情况下,所有属性直接与键属性 Date Key 相关。若要通过重新分配关系优化设计,则将 Month 对象拖到 Quarter 对象,然后将 Quarter 对象拖到 Year 对象。现在,设计器中的关系正确表示了从左至右每个级别两两之间的多对一关系,如图 4 中所示。
图 4 属性关系
接下来,向自上而下包含 Category、Subcategory 和 Product 的名为 Categories 的 Product 维度添加层次结构。创建层次结构之后,您会发现无需修复各级别之间的属性关系,这是因为 DSV 中已经定义了表与表之间的外键关系。不过,您可以根据需要将 AttributeHierarchyVisible 属性值设置为 False。
现在,您的项目便包含了两个已正确定义层次结构和属性关系的维度。随着您更多地了解维度设计,您将会发现,可通过多个属性来优化性能和控制用户界面中的特定行为。
另外,在更为复杂的 BI 解决方案中可能会存在更多维度。不过,此时您已掌握了维度的基本知识,并且具备了继续通过创建多维数据集来构建可用解决方案所需的内容。
创建多维数据集
与使用“维度向导”开始定义维度的过程相同,您可以使用“多维数据集向导”开始创建多维数据集。在解决方案资源管理器中,右键单击“多维数据集”文件夹,单击“新建多维数据集”,然后在“欢迎使用”页上单击“下一步”(如果适用)。在“选择创建方法”页上,保留默认选项。(如果您有一个设计需要手动创建或使用模板创建,则可以使用另外两个选项,然后让 SSAS 基于该设计在数据源中生成表。这需要您使用 Integration Services 填充数据,然后才可以浏览您的多维数据集。)单击“下一步”。
在“选择度量值组表”页上,选择“Internet Sales”和“Reseller Sales”,并单击“下一步”。(度量值组表与事实数据表同步。)然后,该向导将显示在所选度量值组表中找到的所有数字列。按照您到目前为止一直采用的简单方法,通过清除页面顶部的“度量值”复选框来清除所有度量值,然后从每个组(Internet Sales 和 Reseller Sales)中选择以下度量值:Order Quantity、Total Product Cost 和 Sales Amount。
您还可重命名此页上的度量值。只需右键单击度量值名称并键入新的名称,但要确保每个度量值名称唯一。度量值名称应当简短,但不能太短而让人难懂。重命名 Internet Sales 组中的度量值,如下所示:Internet Order Quantity、Internet Cost 和 Internet Sales。同样,将 Reseller Sales 度量值重命名为 Reseller Order Quantity、Reseller Cost 和 Reseller Sales。单击“下一步”。
在“选择现有维度”页上,向导将显示您已创建的维度。单击“下一步”。如果 DSV 中有任何表尚未作为度量值组表引用或被现有维度引用,则将显示“选择新维度”页,以允许您快速添加您可能需要的任何其他维度。在这种情况下,清除 Internet Sales 和 Reseller Sales,因为您无需随维度一起创建这些表。(尽管从技术上说这些是度量值组表,但如果表中存在销售订单数,则可以创建维度以支持按照销售订单数来报告或分析销售额。)
单击“下一步”,将多维数据集重命名为 Sales,然后单击“完成”。可喜可贺!
您已成功构建了一个简单的多维数据集!多维数据集设计器将在左侧窗格中显示已添加到多维数据集的度量值组和维度,并在右侧窗格中显示源 DSV,如图 5 中所示。
图 5 显示度量值组和维度的多维数据集设计器