一个屏幕截图胜过千言万语,所以我们在这里。
我将DimDate表作为Dim Finacial Time维度的基础表。它显示每天(DateKey),没有当天的财务周(fYear_weekNo)和财务年度(fYear)。只需忽略其他列,因为它们未在Dim Financial Time维度中使用。
这是定义的属性关系和用户层次结构(Finacial week)。
以下是Dim Finacial Time维度的Finacial周的浏览器结果。每年应该有52周。相反,它表明每个财政年度只有几个星期。在所有财政年度,似乎所有财政周都是分开的。
如果我删除了fYear_weekNo - FYear关系
然后结果是正确的(第1年显示52周)。我的问题是为什么?
我认为fYear_weekNo - FYear关系之间应该有关系。因为即使它是正确的,SSAS也会给我一个警告。
答案 0 :(得分: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哪一天属于女巫年的月份。
白天,关键值必须是:
year
month
day
月份的关键值必须是:
month
year
年份的关键值必须是:
year
现在再次部署并处理多维数据集,黄色三角形必须消失,并在维度浏览器中获得正确的结果!