设计具有多对多参考表的SSAS多维数据集。

时间:2014-04-04 05:53:26

标签: ssas olap-cube

我有一张包含以下架构的表格 Dim LocationProductsMapping Table (此表中的密钥不会在任何地方使用。它只是一个主键列。)

Key Location            Products    

    XX  A1          P1  
    XX  A2          P2  
    XX  A3          P3  
    XX  A1          P2  
    XX  A3           P2 


* Dim Products (Say P1 , P2 , P3 as keys)
* Dim SellingMode  (Say  S1 , S2 , S3 as keys)
* Dim Shop (Shop1,Shop10,Shop100)

事实销售表

 Product    SellingMode Shop    Revenue    

        P1  S1  Shop1    $100

        P1  S2     Shop10   $400

        P1  S1  Shop100    $100

        P1  S3  Shop1      $100

        P2  S2  Shop10    $400

        P1  S1  Shop100   $100

        P3  S3  Shop1     $100

现在我需要建立一个CUBE。

  1. 我应该如何创建应包含“我的位置”产品映射的维度? (即,我按位置过滤时,我应该只获得该位置的以下数据)。
  2. 输出

    SellingMode1  $2000 Revenue   20 number of Products
    SellingMode2  $3000 Revenue   25 number of products
    
    1. 我尝试在Dimension中创建层次结构,例如Location,ProductKey。但这没有用。值不正确并且未应用过滤条件。

    2. 我无法更改表格架构

    3. LocationProductsMapping表不会自动包含在数据源视图中。 (我添加了这个)

      我没有为“LocationProductsMapping”创建Dimension,(因为这是参考表,这是可以理解的)

1 个答案:

答案 0 :(得分:0)

我不确定您是否有单独的位置表。如果您有,则从中构建维度,否则使用LocationProductsMapping表中的Location列来构建维度。

然后从LocationProductsMapping表创建一个新的度量值组。由于Analysis Services无法在没有度量的情况下拥有度量值组,因此请使用向导通常建议的计数。使此度量不可见,因为它对用户没用。然后在多维数据集设计器的“维度用法”选项卡上,确保您的映射度量值组与产品和位置维度相关,并将主要度量值组与位置之间的关系设置为“多对多”,选择映射衡量小组。

你完成了。 Analysis Services为您处理剩下的事情。