定义和使用钻取操作

如果按事实维度来维度化事实数据,而不正确筛选查询所返回的数据,可能导致查询性能变慢。若要避免出现这种情况,可以定义对返回的总行数进行限制的钻取操作。这将极大地提高查询性能。

在本主题的任务中,将定义钻取操作,以返回通过 Internet 对客户进行销售的订单详细信息。

定义钻取操作属性

定义钻取操作属性

  1. 在 Analysis Services Tutorial 多维数据集的多维数据集设计器中,单击**“操作”**选项卡。

    **“操作”选项卡中包括几个窗格。在选项卡的左侧是“操作组织程序”窗格和“计算工具”窗格。这两个窗格的右侧是“显示”窗格,其中可以显示“操作组织程序”**窗格中所选操作的详细信息。

    下图显示了多维数据集设计器的**“操作”**选项卡。

    多维数据集设计器的“操作”选项卡

  2. 在**“操作”选项卡的工具栏上,单击“新建钻取操作”**按钮。

    “显示”窗格中将出现空白操作模板。

    显示窗格中的空白操作模板

  3. 在**“名称”**框中,将此操作的名称更改为 Internet Sales Details Drillthrough Action。

  4. 在**“度量值组成员”列表中,选择“Internet 销售”**。

  5. 在**“钻取列”框中,选择“维度”列表中的“Internet 销售订单详细信息”**。

  6. 在**“返回列”列表中,选中“项说明”“订单号”复选框,再单击“确定”**。下图显示至此在该操作过程中操作模板的应有外观。

    “钻取列”框

  7. 展开**“附加属性”**框,如下图所示。

    “附加属性”框

  8. 在**“最大行数”**框中键入 10。

  9. 在**“标题”**框中,键入 Drillthrough to Order Details…。

    这些设置将限制返回的行数,并指定在客户端应用程序菜单中将出现的标题。下图显示了**“附加属性”**框中的这些设置。

    “附加属性”框

使用钻取操作

使用钻取操作

  1. 在**“生成”菜单上,单击“部署 Analysis Services 教程”**。

  2. 在部署成功完成后,在 Analysis Services Tutorial 多维数据集的多维数据集设计器中单击**“浏览器”选项卡,再单击“重新连接”**按钮。

  3. 从**“数据”窗格中删除所有层次结构和度量值,然后删除“筛选器”**窗格中的所有维度成员。

  4. 将**“Internet 销售额”** 度量值添加到数据区域。

  5. 将**“客户所在地域”用户定义层次结构从“客户”维度的“位置”文件夹添加到“筛选器”**窗格。

  6. 在**“筛选表达式”列表中,依次展开“全部客户”AustraliaQueenslandBrisbane4000,然后选中 Adam Powell 复选框,再单击“确定”**。

    Adventure Works Cycles 对 Adam Powell 的产品销售总额显示在数据区域中。

  7. 单击“数据”窗格中的数据单元,然后右键单击该数据单元并单击**“钻取订单详细信息”**。

    交付给 Adam Powell 的订单的详细信息将显示在**“数据示例查看器”**中,如下图所示。但是,某些其他详细信息也会是有用的,如订单日期、截止日期和发运日期。在下一个过程中,您将添加这些其他详细信息。

    发送给 Adam Powell 的订单

  8. 单击**“关闭”,以关闭“数据示例查看器”**窗口。

修改钻取操作

修改钻取操作

  1. 打开**“Internet 销售订单详细信息”**维度的维度设计器。

    注意,仅为此维度定义了三个属性。

  2. 在**“数据源视图”窗格中,右键单击空白的区域,再单击“显示所有表”**。

  3. 在**“格式”菜单上,指向“自动布局”,然后单击“关系图”**。

  4. 通过右键单击**“数据源视图”窗格中的空白区域来查找 InternetSales (dbo.FactInternetSales) 表。然后单击“查找表”,并单击 InternetSales,再单击“确定”**。

  5. 基于以下列创建新属性:

    • OrderDateKey

    • DueDateKey

    • ShipDateKey

  6. 将**“订单日期键”特性的“名称”属性更改为“订单日期”,然后单击“名称列”属性的浏览按钮,并且在“名称列”对话框中,选择“日期”**作为源表,并选择 SimpleDate 作为源列。单击“确定”。

  7. 将**“截止日期键”特性的“名称”属性更改为“截止日期”,然后,将同一方法用于“订单日期键”特性,将此特性的“名称列”**属性更改为 Date.SimpleDate (WChar)

  8. 将**“发货日期键”特性的“名称”属性更改为“发货日期”,然后将此特性的“名称列”**属性更改为 Date.SimpleDate (WChar)

  9. 切换到 Analysis Services 教程多维数据集的多维数据集设计器的**“操作”**选项卡。

  10. 在**“钻取列”框中,选择各复选框以将以下列添加到“返回列”列表,再单击“确定”**:

    • 订单日期

    • 截止日期

    • 发货日期

    下图显示了这些所选列。

    “钻取列”框

检查修改后的钻取操作

检查修改后的钻取操作

  1. 在**“生成”菜单上,单击“部署 Analysis Services 教程”**。

  2. 在成功完成部署后,切换到 Analysis Services 教程多维数据集的“多维数据集设计器”中的**“浏览器”选项卡,然后单击“重新连接”**按钮。

  3. 单击单个数据单元,然后右键单击该单元,再单击**“钻取订单详细信息”**。

    在**“数据示例查看器”**中将显示交付给 Adam Powell 的这些订单的详细信息。这包括订单日期、截止日期和发运日期信息,如下图所示。

    发送给 Adam Powell 的订单

  4. 单击**“关闭”,以关闭“数据示例查看器”**。