Aar*_*nLS 9 ssas data-warehouse
我有一个事实表,它将我的日期维度作为表格日期和财务日期.因此,日期维度是角色扮演两个不同的角色.这工作正常,除了我无法角色扮演Year或Month列的名称.我希望它分别是Form Year和Finance Year列,或者能够设置属性描述,以便我的客户端应用程序可以使用该属性显示为工具提示/标题.
问题是,在单个支点报告中,用户将有两个不同的年份,并且不清楚哪个(他们看到2010年和2009年,并且不知道哪个是表格年,哪个是财务年度)没有我做一些hackish代码来查看维度名称是什么.
换句话说,[表格日期].[年份]和[财务日期].[年]就单元格而言都是"年"属性.当您在SSAS中更改该属性的描述或名称时,您将为两个角色扮演维度更改它.您可以自定义角色扮演维度的名称,但遗憾的是不是属性.
我到目前为止的选择:
- 在数据仓库DB中,为每个用例创建日期维度表的副本,以便我可以自定义列的属性名称/描述.这为我创造了更多的维护/工作,以保持这些副本的一致性.
- 在数据仓库DB中,为每个用例在日期维度表的顶部创建一个视图.这里的问题是我无法在维度视图和事实表之间创建FK关系.我担心这会让我比其价值更令人头疼,因为看起来很多SSAS/SSRS/Powerpivot和其他工具确实依赖于那些FK关系来帮助它确定数据仓库的结构.
- 在同一个表中创建Year列的副本,以便在SSAS中将每个副本具体化为其自己的属性,因此可以拥有自己的名称和描述属性.没有玩这个,看看它是否会像我想象的那样工作,但我想我只会根据同一个表创建多个维度,并且在每种情况下只包含一个Year列,例如表单年份在表单日期维度中.(也可以使用计算列而不是列的副本.)这样做的缺点是它使维度更加混乱.我已经有很多属性来支持各种层次结构,这是正常的,但现在我正在为单个属性混合多列,只是为了支持属性的标题/描述不同,即使属性值都是相同.
在Kimball Group Data Warehouse Toolkit一书中,它描述了这个场景
这些日期维度副本被声明为语义上不同的视图,例如"首次购买日期"[其具有诸如"第一购买年的日期"而不仅仅是"年"的属性]具有唯一列标签的维度表.
本书非常概念化和技术无关,不涉及实现细节.某些地方的措辞意味着使用视图,而在其他地方暗示使用物理表副本.如上所述,两者都有足够大的缺点,因为我已经预见到了令人头疼的问题,我害怕冒险进入任何一条道路.
您认为我应该如何实现日期维度的多个角色,以便我可以为维度参与的每个角色/用例自定义属性的描述/名称属性?
我还将有其他事实表引用相同的维度,因此会有类似的问题,因此不只是让一个事实表引用维度两次的问题.
根据您非常详细和深思熟虑的帖子,我建议您在Analysis Services项目的DSV中创建一个额外的日期表.它将是针对数据仓库中日期维度的named_query.在DSV中,您可以为其提供"逻辑主键",并将其与您喜欢的任何事实表相关联.这将允许您创建2个单独的"立方体"维度,并在两者之间以不同方式命名属性.