计算与SSAS中当前行具有相同值的所有行

时间:2018-03-08 17:48:08

标签: ssas mdx business-intelligence

我正在编写一份基于物流软件数据库的报告。我们在仓库中有一个交易表。仓库分为几个区域,我们还有一个区域表。问题是这些区域可能会重叠,因此单个事务会在多个区域中发生。

我在SSAS中开发了一个多维数据集,其中包含一个事务表,其中包含事务数据和维度[m2m Transaction From Position In Zone],其中包含每个事务发生的所有区域的事务ID和列表ID。您可以在下面看到以下数据的示例。我想创建一个新的度量(新计算度量),它使我获得具有相同事务ID的行数。例如,事务1在三个区域中占据一席之地,因此计算出的度量应该给我3个。

xxxxx
xxxxx
xxxxx
xxxxx
xxxxx
yyy
yyy
yyy

我开始使用特定的事务ID进行开发,但我在MDX中完全是新的,并且以下代码不起作用。你能帮忙吗?

Transaction ID| ZoneID | New Calculated Measure
1             | 1      | 3
1             | 2      | 3
1             | 3      | 3
2             | 1      | 4
2             | 2      | 4
2             | 3      | 4
2             | 4      | 4
3             | 2      | 1

1 个答案:

答案 0 :(得分:0)

试试这个:

WITH MEMBER [Measures].[New Calculated Measure] AS
COUNT(
    [m2m Transaction From Position In Zone].[Transaction ID].CurrentMember *
    [m2m Transaction From Position In Zone].[ZoneID].[ZoneID].members
)

只计算当前交易下的所有区域。