Лучший синтаксис для MDX
Если есть лучший способ написать MDX
SELECT { [Measures].[Label],
NonEmpty [Measures].[UniqueName],
NonEmpty [Measures].[TargetName],
[Measures].[Place]
} ON COLUMNS ,
NON EMPTY
[Geography].[Country].ALLMEMBERS ON ROWS FROM [Adventure Works]
Я хочу добавить непустой только для нескольких мер, и это зависит от измерения, например [Street Dimension].[Street].[Street name]="abcd". Поэтому я могу выполнить любое условие, чтобы проверить название улицы и добавить непустое, только если название улицы совпадает.
1 ответ
Больше похоже на это:
SELECT {[Measures].[Label],
[Measures].[UniqueName],
[Measures].[TargetName],
[Measures].[Place]} ON COLUMNS ,
nonempty(
nonempty(
[Geography].[Country].ALLMEMBERS
,[Measures].[UniqueName])
,[Measures].[TargetName]
)
ON ROWS
FROM [Adventure Works]
Чтобы направить NonEmpty
функции на конкретном члене иерархии улиц, вы можете использовать кортеж в качестве второго аргумента для каждого NonEmpty
:
SELECT
{
[Measures].[Label],
[Measures].[UniqueName],
[Measures].[TargetName],
[Measures].[Place]
} ON COLUMNS,
NonEmpty(
NonEmpty(
[Geography].[Country].ALLMEMBERS
,(
[Measures].[UniqueName]
,[Street Dimension].[street].[street name].[abcd]
)
)
,(
[Measures].[TargetName]
,[Street Dimension].[street].[street name].[abcd]
)
)
ON ROWS
FROM [Adventure Works];