【问题标题】:Relating two dimension in SSAS cube关联 SSAS 多维数据集中的二维
【发布时间】:2016-07-13 15:34:30
【问题描述】:

我有两个维度,比如“Dimension1”和“Dimension2” 这两个维度应该是相关的,比如 Dimension1 可以在 Dimension2 中有一个或多个记录。

为了关联,我有一个中间表,比如“Dimension12”

示例值如下。

维度1

Column 1
A
B
C

维度2

Column2
X
Y
Z

维度12

Column1 Column2
A       X
A       Y
B       X
C       Y
C       Z

在 DSV 中,我使用“Dimension12”表关联了这两个表。创建了两个新维度,Dimension1 和 Dimension2。已部署和处理的多维数据集。

现在,当我查询时,我使用了 Dimension1 中的 Column1 和 Dimension2 中的 Column2,这并没有给我所需的结果,我想在 A 下查看 X 和 Y,而是在 A 和B下的X,Y,Z和C下的X,Y,Z。维度之间的关系没有发生。我不希望他们通过事实来联系。

你能帮我解决我在这里想念的问题吗?或者有没有可能这样做。

【问题讨论】:

  • 我想知道您为什么没有在一个维度下构建具有 2 个级别的层次结构。

标签: sql-server ssas


【解决方案1】:

问题在于 Dimension12 。

如果(有任何连接键)应该使用全外连接生成。

如果没有关系,则应将其创建为 Dimension1 和 Dimension 2 的 cross join

你Dimension12应该有以下数据

Column1  Column2
A        x
B        x
C        x
A        y
B        y
C        y

评论后编辑。

如果我们在 Dimension1 和 Dimension2 中没有关系

第一步 > 创建一个表Dimension12

   Create  table Dimension12 
( id int identity (1,1),-- as i would required a surrogate key for referencing in fact.

Column1 varchar(50),

Column2 varchar(50))


    insert into Dimension12 (Column1,Column2)
     select d1.Column1,d2.Column2 from Dimension1 d1,Dimension2 d2

第 2 步> 一次性填充数据

insert into Dimension12 (Column1,Column2)
select d1.Column1,d2.Column2 from Dimension1 d1,Dimension2 d2

第 3 步 > 制作一个 Updateinsert ETL 以填充 Dimension12 tbale。

第 4 步 > 在 DSV 中使用 Dimension12(表格或此表格顶部的视图)。

现在你可以走了..

【讨论】:

  • Dimension12 确实有您所说的数据。但是我没有你说的完全外连接,DSV确实有关系,主要“Dimension1”外国“Dimension12”和主要“Dimension2”外国“Dimension12”
  • 如果您在 Dimension1 和 Dimension1 中没有任何关系,在这种情况下交叉连接 /CARTESIAN JOIN 即从 Dimension1 d1,Dimension2 d2 中选择 d1.Column1,d2.Column2.. 我将在答案中添加更多细节...
  • 谢谢,但我不确定它如何解决我的问题。我不想要 Catersian 产品数据。 Dimension12 已经有维度 1 和维度 2 之间的关系,如果在这种情况下我不明白为什么我需要再次插入 catesian 产品。可能我没有得到。问题是我对它进行了建模,但仍然没有发生关系。我只使用维度 12 来关联。如果我使用 Dimension1 中的 Colum1 和 Dimension2 中的 Column2 那么它应该显示关系并且这不会发生。
  • 我已经提到了答案中的逻辑,这应该是您的 ETL 的一部分,您需要代理键
  • 你是说我需要一个与事实相关的钥匙,如果是这样,我根本不想将这与事实联系起来。我只是想在维度与事实没有关系之间建立联系。这可能吗?
猜你喜欢
  • 1970-01-01
  • 2020-01-22
  • 1970-01-01
  • 1970-01-01
  • 2019-08-24
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多