2

一个屏幕截图值一千个字,所以我们来了。

我将 DimDate 表作为 Dim Finacial Time 维度的基础表。它显示每一天 (DateKey)、当天所在的财政周 (fYear_weekNo) 和财政年度 (fYear)。忽略其他列,因为它们未在 Dim Financial Time 维度中使用。

在此处输入图像描述

这里是定义的属性关系和用户层次结构(金融周)。

在此处输入图像描述

这是 Dim Finacial Time 维度的金融周的浏览器结果。每年应该有 52 周。相反,它显示每个财政年度只有几个星期。似乎所有财政年度的所有财政周都是分开的。

在此处输入图像描述

如果我删除了 fYear_weekNo - FYear 关系

在此处输入图像描述

那么结果是正确的(它显示第 1 年有 52 周)。我的问题是为什么?

在此处输入图像描述

我认为fYear_weekNo - FYear之间应该有关系。因为即使它是正确的,SSAS 也会给我一个警告。

在此处输入图像描述

4

1 回答 1

0

使用 MSFT 的 SSAS,您应该在属性之间建立正确的关系,以构建有效的属性层次结构。

现在你对 SSAS 感到困惑,因为很多天属于某个月份,而同一天属于另一个月份。同样的事情发生了几个月,某个月份属于一年,同时同一个月属于另一年。

考虑到你正在做:

DAY_01 to MONTH_01
...
DAY_31 to MONTH_01

and then

DAY_01 to MONTH_02
...
DAY_31 to MONTH_02

为了解决这个问题,考虑下面的例子,一天只属于一个月,一个月只属于一年。

DAY_01_01_2000 to MONTH_01 to YEAR_2000
...
DAY_31_01_2000 to MONTH_01 to YEAR_2000

and then

DAY_01_02_2000 to MONTH_02 to YEAR_2000
...
DAY_31_02_2000 to MONTH_02 to YEAR_2000

首先,建立关系,例如必须将日与月和年相关联,然后将月与年相关联。

day 属性必须如下所示:

->DAY
-->YEAR
-->MONTH

月份属性必须如下所示:

->MONTH
-->YEAR

年份属性必须如下所示:

->YEAR
->no relationship

其次,您必须编辑每个属性的键值,您可以使用属性窗口来执行此操作(请注意,如果一个属性有多个键,那么您还必须使用某个名称设置列的名称),以便告诉SSAS 哪一天属于巫月到巫年。

对于 day,关键值必须是:

year
month
day

对于月份,键值必须是:

month
year

对于年份,关键值必须是:

year

现在再次部署和处理立方体,黄色三角形必须消失并在维度浏览器中获得正确的结果!

于 2016-11-10T10:17:57.310 回答