У меня есть следующая структура мер и измерений и некоторые примеры данных
Таблица фактов:
id_dim1 id_dim2 id_dim ...мера1
1 2 ...120
2 1 ...101
1 1 ...95
3 3 ...12
Dim1:
id_dim1 элемент1значение
1 Значение1
2 Значение2
3 Значение3
Dim2:
id_dim2 значение_члена2
1 Значение1
2 Значение2
3 Значение3
Dim1 и Dim2 на самом деле являются ролевыми измерениями и основаны на одной и той же таблице измерений.
Я хочу рассчитать меру, которая суммирует меру1 только тогда, когда:
[Dim1].[Hierarchy1].[Level based on member2value]=[Dim2].[Hierarchy1].[Level based on member2value]
В приведенном выше примере мера будет рассчитываться как: 95+12=107.
Загвоздка в том, что я хочу, чтобы мера вычислялась правильно, даже если Dim1 и Dim2 не используются в более позднем запросе mdx.
Пока у меня есть следующее, которое работает только тогда, когда Dim1 и Dim2 используются в более позднем запросе:
Member [Measures].[CondMeasure] AS 'IIF(
[Dim1].[Hierarcy1].[All].[Level].CurrentMember.Name =
[Dim2].[Hierarchy1].[All].[Level].CurrentMember.Name
,
([Measures].[Measure1],
[DimXX].[Hxx].[LevelXX].[MemberXX],
[DimYY].[Hyy].[LevelYY].[MemberYY])
),
0
)
'
Мера также рассчитывается только в контексте некоторых других элементов, как показано выше.
Кстати. Я пытаюсь это сделать в SSAS
С уважением Серен