【发布时间】:2014-01-09 22:05:36
【问题描述】:
我希望将默认聚合从 SUM 更改为基于不同 ID 值的 SUM。 这是当前的行为
身份证金额 1 美元 10 1 美元 10 2 20 美元 3 美元 30 3 美元 30 总和 = 90 美元默认情况下,我得到 90 美元。我希望对不同的 id 进行求和并获得 60 美元的价值。我将如何修改默认聚合行为以实现此结果?
【问题讨论】:
我希望将默认聚合从 SUM 更改为基于不同 ID 值的 SUM。 这是当前的行为
身份证金额 1 美元 10 1 美元 10 2 20 美元 3 美元 30 3 美元 30 总和 = 90 美元默认情况下,我得到 90 美元。我希望对不同的 id 进行求和并获得 60 美元的价值。我将如何修改默认聚合行为以实现此结果?
【问题讨论】:
将您的数据设计为多对多关系:创建一个表/视图,每个 ID 有一条记录,并根据问题中显示的数据(主要事实表)创建一个金额列,一个表/视图有一个记录您的问题中显示的每条数据记录,大概有另一列,否则将数据显示在您的问题中没有任何意义)。这将是 m2m 维度表。然后,创建一个具有 m2m 维度表的 id 和您的 ID 列的桥表/视图。
然后创建以下 AS 对象:来自主事实表的度量值组,同一表的列 ID 上的维度(如果没有其他列使维度表有意义,在这种情况下,您最好拥有以 ID 作为主键的单独维度表)。从 m2m 维度表中创建一个维度,并从桥接表中创建一个仅包含不可见度量“计数”的度量值组。最后,在Cube Designer的“Dimension Usage”选项卡上,通过bridge measure group设置m2m维度与主measure group的关系为多对多。
有关多对多关系的教程,请参阅 http://technet.microsoft.com/en-us/library/ms170463.aspx。
【讨论】: