zoukankan      html  css  js  c++  java
  • BI之SSAS完整实战教程3 -- 创建第一个多维数据集

    上一篇我们已经完成了数据源的准备工作,现在我们就开始动手,创建第一个多维数据集(Cube)。

    文章提纲

    • 使用多维数据集向导创建多维数据集
    • 总结Cube设计器简介
    • 维度细化
    • 总结

    一、使用向导创建多维数据集

    在Analysis Services中,可以通过3种方法构建多维数据集:自上而下,自下而上或者基于一个空多维数据集。

    一般我们从现有的关系数据库自下而上构建。

    在自下而上方式中,需要一个DSV作为多维数据集的构建基础。

    AS中的多维数据集(Cube)包括两部分:

    1. 一个或多个度量值组,其数据来自关系数据源中的一个或多个事实表。通常情况下,每个事实表对应一个度量值组,度量值组包含一个或多个度量值(例如销售额,成本,售出产品计数)

    2. 多维数据集还包含一个或多个来自关系维度表的维度(例如Product和Time).

    构建多维数据集时,需要指定希望使用的事实表和维度表。每个多维数据集必须至少包含一个事实表,用于确定该多维数据集的内容。

    后面使用向导时可以看到,如果不选量值组会提示:At least one measure group table must be selected.

    另外构建多维数据集之前,必须基于维度表创建维度。

    我们简单小结一下:Cube=度量值组+维度

    多维数据集向导将创建多维数据集所涉及的所有步骤打包在一起, 形成一个简单的顺序过程,创建步骤:

    1. 右键 Cubes à New Cube…

    点击 Next进入下一步

    选择默认值,下一步

    2.在Select Measure Group Table页中,选择FactInternetSales 和 FactResellerSales作为度量值组表,下一步

    3. 在Select Measures页面中,可以从度量值组表中选择特定的列作为度量值。

    默认情况下,会选中度量值组表中的所有列(键列除外)

    按照默认选择,下一步

    4. 在Select New Dimensions页面上,多维数据集向导将显示可能的维度及其特性。默认情况下,多维数据集向导在每个维度中包含键特性,键特性将在此页面上突出显示,如下图。取消选中Fact Internet Sales和Fact Reseller Sales维度,下一步。

    5. 按照默认名称,点击Finish完成多维数据集的创建。

    向导完成后,维度也会相应的创建,并且显示在Solution Explorer中。

    二、Cube设计器简介

    Adventure Works DW多维数据集将在多维数据集设计器中打开,如下图

    可以看到,多维数据集设计器具有多个tab, 通过这些tab, 可以对多维数据集进行各种操作。在多维数据集向导完成后打开的默认页面是Cube Structure

    其他的一些页面包括:Dimension Usage, Caculation, KPIs, Actions, Partitions, Aggregations, Perspectives, Translations和Browser

    Cube Structure页面包含3个窗格:Measures(度量值)、Dimensions(维度)和Data Source View(数据源视图)。

    可以在Measures窗格中添加或修改度量值组和度量值。

    使用Dimensions窗格可以添加或修改多维数据集的维度。

    Data Source View 窗格显示在多维数据集中使用的事实表和维度表,并使用不同颜色进行区分(黄色表示事实表,蓝色表示维度表)

    在每个窗格内部右击,可以看到能够在每个窗格中完成的各种操作。

    三、维度细化

    多维数据集向导仅向创建的维度中添加了最为基本的一些特性。若要对多维数据集中的数据进行分析,还需要对这些维度进行进一步细化, 后续文章我们专门有一篇讲解维度的细化,下面我们先来一个维度细化示例。

    1.在Solution Explorer中,双击Dim Date.dim维度。

    Dim Date维度将在维度设计器中打开。

    Dimension Structure页面包含3个窗格:Attributes, Hierarchies和DSV

    2.在DSV窗格中,选中DimDate表中除DateKey以外的所有列,拖到Attributes窗格。该操作会为DimDate表中的每一列创建一个特性。

    3. 将键特性从Date Key重命名为Date

    4. 将Fiscal Quarter特性从Attributes窗格拖放到Hierarchies窗格。该操作将创建一个层次结构,称为Hierarchy.

    将Month Number of Year 特性拖放到Hierarchies窗格的Fisical Quarter特性下面。该操作会在层次结构中创建另一个级别。

    类似的,将Date特性拖放到Month Number of Year特性下面。

    右击层次结构并选择Rename, 将层次结构重命名为Fiscal Quarter – Month Number of Year, 最终效果如下图:

    我们对其他维度也做一些调整。

    Dim Currency.dim

    Dim Customer.dim

    将键特性从 Custom Key 重命名为 Custom

    将DSV中来自DimCustomer表的所有列(Custom Key除外)拖放到Attributes窗格

    Dim Sales Territory.dim

    将键特性从Sales Territory Key 重命名为 Sales Territory

    将DimSalesTerritory表中除SalesTerritoryKey和Image以外的所有列从DSV窗格拖放到Attributes窗格。

    Dim Product.dim

    将键特性从 Product Key重命名为Product

    将DimProduct表中除ProductKey和LargePhoto以外的所有列从DSV拖放到Attributes 窗格。

    Dim Promotion.dim

    将键特性从Promotion Key 重命名为 Promotion

    将DimPromotion表中除PromotionKey以外的所有列从DSV窗格拖放到Attributes窗格。

    将 English Promotion Category特性从Attributes窗格拖放到Hierarchies窗格。该操作将创建一个新的层次结构。

    将Discount Pct特性从Attributes窗格拖放到Hierarchies窗格的English Promotion Category特性下面。该操作会在层次结构中创建一个新的level.

    将Promotion特性从Attributes窗格拖放到Hierarchies窗格的Discount Pct级别下面.

    重命名层次结构为English Promotion Category – Discount Pct, 如下图

    Dim Reseller.dim

    将键特性从Reseller Key重命名为Reseller

    将DimReseller表中除ResellerKey以外的所有列从DSV窗格拖放到Attributes窗格。

    将Annual Revenue特性从Attributes窗格拖放到Hierarchies窗格。改操作将创建一个新的层次结构。

    将Number Employees特性从Attributes窗格拖放到Hierarchies窗格的Annual Revenue特性下面。该操作将创建一个新的level, 成为Number Employees

    将Reseller特性从Attributes窗格拖放到Hierarchies窗格的Number Employees级别下面

    重命名层次结构为Annual Revenue – Number of Employees , 如下图

    Dim Employee.dim

    该维度具有多维数据集向导创建的3个键特性,与此相对的是,其他维度创建了一个键特性。这是因为,向导在Dim Employee维度内检测到一种父子关系(后续教程介绍)

    将Employee Key特性重命名为Employee

    将DimEmployee表中除EmployeeKey, ParentEmployeeKey,Sales TerritoryKey和EmployeePhoto以外的所有列从DSV窗格拖放到Attributes窗格。

    将Department Name特性从Attributes窗格拖放到Hierarchies窗格。该操作将创建一个新的层次结构。

    将Title特性从Attributes窗格拖放到Hierarchies窗格的Department Name层次结构下面。

    将Employee特性从Attributes窗格拖放进Hierarchies窗格的Title特性下面。

    重命名层次结构为Department Name - Title

    四、总结

    现在,你已经成功使用SSDT创建了一个多维数据集,并对维度进行了细化。后续将会围绕这个例子继续进行扩展。

    最后我们对本篇内容做个总结:

    1. 需要了解向导创建多维数据集的顺序 :

    Select Creation Meathod (Use existing tables)

    -->Select Measure Group Tables

    -->Select Measures

    -->Select New Dimensions

    -->Completing the Wizard

    2. Cube设计器的结构:

    包含多个tab, 每个tab包含多个窗格,熟悉这些tab和窗格。

    3. 初步了解维度细化的一些操作(后续会有专题讲维度操作)

    下一篇文章将会介绍如何部署这个项目到SSAS上,以及进行简单的分析。

    祝学习进步:)

    首发博客园 by MiroYuan,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    数据库02
    MySQL1
    GIL 死锁 递归锁 event 信号量 线程Queue
    小脚本 暴力删除文件 刷屏
    常见web攻击 及基础 回顾(杂记)
    接口中的简单异步 async
    python协程 示例
    python 利用jinja2模板生成html
    python 调用webservices 接口
    python 进程 进程池 进程间通信
  • 原文地址:https://www.cnblogs.com/miro/p/5848096.html
Copyright © 2011-2022 走看看