Есть ли способ добавить еще 1 критерий в эти коды Power BI DAX? - PullRequest
0 голосов
/ 11 января 2019

В Power BI у меня есть следующее выражение DAX:

Others = 
VAR mymodel =
    VALUES ( 'Compare Data'[Model] )
RETURN
    CONCATENATEX (
        EXCEPT (
            CALCULATETABLE (
                VALUES ( 'Full Data'[Vendor Name] ),
                'Full Data'[Engine Model] IN mymodel
            ),
            VALUES ( 'Compare Data'[Name] )
        ),
        [Vendor Name],
        ", "
    )

У меня нет никаких знаний в области программирования, но я знаю, что эта мера Others была записана в ответ только на слайсер "Model" .

Есть ли способ заставить эту меру ответить и на «Сравнить данные» [Модель] и на «Сравнить данные» [Группа] , при этом остальная часть кода остается прежней?

У меня также есть этот код, который должен рассчитывать средние затраты альтернатив и давать тот же результат, что и первый код. ОДНАКО, они не дают одинаковых результатов при выборе слайсера.

        Measure 2 = 

    VAR __vendor = MAX('Compare Data'[Name])

    VAR __model = MAX('Compare Data'[Model])

    VAR __group = MAX('Compare Data'[Group])

    VAR __table = FILTER('Full Data',([Vendor Name]<>__vendor 
    &&  [Engine Model] = __model) && [Material Group]  = __group)

    VAR __vendorAverage = AVERAGEX(FILTER(ALL('Compare Data'),
 'Compare Data'[Name] = __vendor),[Cost])

    VAR __othersAverage = AVERAGEX(__table,[Repair Cost])

    RETURN
        __othersAverage

Я сомневаюсь, что эта строка является причиной для получения тех же результатов:

VAR __table = FILTER('Full Data',([Vendor Name]<>__vendor 
&&  [Engine Model] = __model) && [Material Group]  = __group)

Что я предполагаю из написанных здесь критериев, так это то, что в таблице «Полные данные» возвращаются только те значения в столбце «Имя поставщика», которые НЕ РАВЕН «Сравнить данные» [Имя ] И РАВНО Любые значения «Сравнить данные» [Модель] И РАВНО Любые значения «Сравнение данных» [ГРУППА].

Я думаю, что здесь что-то не так с оператором DAX AND (&&). Не могли бы вы показать мне, как я могу получить его, чтобы получить результаты, которые оба соответствуют следующим критериям:

  1. «Полные данные» [Имя поставщика] <> «Сравнение данных» [Имя]

И

  1. «Полные данные» [Модель двигателя] = «Сравнить данные» [Модель] ИЛИ «Полные данные» [Группа материалов] = «Сравнить данные» [Группа]

Я пробовал это:

VAR __table = FILTER('Full Data',(([Vendor Name]<>__vendor 
&&  [Engine Model] = __model)) 
|| ([Vendor Name]<>__vendor &&[Material Group]  = __group))

но я не думаю, что это то, чего я хочу. Мера по-прежнему иногда возвращает неправильные значения.

Если у вас есть идеи, не могли бы вы мне помочь? Большое вам спасибо!

...