我们有一个在几年前创建的多维数据集,并且有更改晶粒的请求。为了简化我的情况,事实包含日期(每天),市场(拉美,北美等)的维度和访问次数的度量。
有一个新请求,要求包含国家和州。这就是我的想法:
我应该考虑的其他事情或陷阱吗?
答案 0 :(得分:2)
如果所有报告都来自多维数据集,并且事实表仅是为了支持我主张添加新的事实表并将它们缝在下游。该方法取决于您的要求。
您的国家和州与驱动市场的事实数据具有相同的属性。
在这种情况下,建模的自然方法是将多余的谷物添加到Market的现有维度中。您可以按照以下步骤进行操作:如果有存储空间,则可以这样:
您的市场数据应作为视图呈现给多维数据集。如果不是,请在DSV中创建一个表,并用“另一个表”替换该表,然后将其指向新视图。增强此视图,以便它提供您组合的地理信息-每个州/国家/地区的行。
确保存在可以与旧事实相关的记录。这些市场价值也将反映为州和国家的价值。 (也就是说,将衣衫agged的层次结构向下层叠到键值)。
为旧的和新的谷物事实数据创建行源。我认为这些来自不同的来源。这可以是将两者结合在一起的所有视图,其中旧的[Market]反映为旧的事实数据的[State]。或者,您可以具有视图的视图,以便在多维数据集中将它们实现为单独的分区。
将键属性层次结构的名称从[市场]更改为[州](假设州->国家和州->市场)。
将其键/名称从市场的键/名称字段更改为[州]的键/名称字段 再次为“国家/地区”添加属性层次结构,为“市场”添加新属性层次结构,以确保其属性与以前相同,以避免破坏旧的报表。
在县和市场之间添加属性关系(仅当它是所有事实记录的严格父级时)
在多维数据集设计器的“度量值组/维度”用法窗格中,删除并重新添加事实与维度之间的直接关系。
此功能旨在使您最顺畅地使用针对旧数据编写的任何MDX。您的维度将保留其名称,该名称可能看起来已过时。如果您准备破坏多维数据集使用的旧报表,那么您当然可以重新设计事物以给维度赋予新名称。
您的国家/地区和州/省与该属性无关,并且(例如)数据可能会在LATAM市场和美国所在国家/地区出现。
然后,您只需要添加一个更简单的新尺寸即可。
创建一个行集以构建新维度,并确保该行具有Country =“ UNKNON”和State =“ UNKNOWN”的行。始终最好用整数键标注尺寸,假设我们给此Record [GeoId] = 0。
使用新维度的键将新颗粒数据提供给多维数据集。您的旧事实数据应作为视图提供给多维数据集,并且该视图的字面值可以为0,用于所有记录上的新列[GeoId]。
将所有这些都结合在一起,或者将它们用于度量组的单独分区。
将度量关系/度量用法中的关系添加到新维度。
对于您的多维数据集数据,几乎所有消费者来说都是不间断的更改。