У меня есть задача преобразовать существующие показатели MDX (из многомерной модели) в DAX (табличная модель). Во время этой задачи я обнаружил, что в DAX нет функциональности для использования опции «CREATE MEMBER», как это было в MDX. Но у меня есть некоторые члены, созданные внутри этого куба этой функцией (не в DWH). В этом случае я пытаюсь выяснить, как сделать то же самое (эквивалент) в табличной модели (DAX)
Есть часть кода, которую я сейчас заменяю:
CREATE MEMBER CURRENTCUBE.[Condition].[Condition].[All].[NEW+USED]
AS [Condition].[Condition Type].[NEW]+[Condition].[Condition Type].[USED]
Изображение:
Пример таблицы [Condition] из DWH :
У меня есть идея создать VIEW на основе этой таблицы с помощью UNION, чтобы добавить новую строку "NEW + USED" внутри этого VIEW, а затем использовать SWITCH внутри куба (функция DAX) для ВСЕХ мер
Например:
NVC:=
VAR GALC = [ABC] + [CDE]
RETURN SWITCH(
SELECTEDVALUE('Condition'[ConditionTotal]);
"ConditionTotal"; GALC;
"NEW+USED"; CALCULATE(
GALC;
FILTER(ALL('Condition'[ConditionDescription]); 'Condition'[ConditionDescription] = "New" && 'Condition'[ConditionDescription] = "Used")
)
)
Но я не уверен, правильно ли это или нет, потому что в этом случае я должен заполнить все столбцы из таблицы, а некоторые из них использовать в связях с таблицами фактов внутри куба.