Как фильтровать существующие меры, созданные с использованием DAX в Power BI?

#powerbi #dax

#powerbi #dax

Вопрос:

Я создал две меры

 #SavingsLocal = 

    CALCULATE(
        SUM('Savings'[sum(Risk Percentage*USLP Savings)]),
        FILTER(ALL('Savings'),SEARCH("NO",'Savings'[ICB],,BLANK()) amp;amp; SEARCH("YTD",'Savings'[Scenario],,BLANK())))
  

и

 #SavingsGlobal = 
CALCULATE(
    SUM('Savings'[sum(Risk Percentage*USLP Savings)]),
    FILTER(ALL('Savings'),SEARCH("YES",'Savings'[ICB],,BLANK()) amp;amp; SEARCH("YTD",'Savings'[Scenario],,BLANK())))
  

Теперь, если мой столбец Region, присутствующий в таблице сбережений, является «ГЛОБАЛЬНЫМ», я хочу использовать мой #SavingsGlobal else #SavingsLocal

Я создал вычисляемый столбец для этого

 #finalsavings = IF(Savings[Location - Region (L1)] == "GLOBAL",Savings[#SavingsGlobal],Savings[#SavingsLocal])
  

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

Как мне подойти к этому с помощью DAX?

Ответ №1:

Вы можете создать вычисляемую меру, которая объединяет два:

 #finalsavings = 
  IF(SELECTEDVALUE(Savings[Location - Region (L1)]) == "Global",
      Savings[#SavingsGlobal],
      Savings[#SavingsLocal])
  

Комментарии:

1. привет! это сработало очень гладко. Большое вам за это спасибо.

2. Выполнено. Боролся с этой мерой с нескольких часов.

3. Привет, я был неправ, эта мера НЕ РАБОТАЕТ. Я не получаю значение в ГЛОБАЛЬНОМ кластере, но получаю значения в ЛОКАЛЬНОМ.

4. Работает ли #SavingsLocal сам по себе? попробуйте использовать CONTAINSSTRING вместо SEARCH