Процентная разница для каждой категории в том же raw, Power BI

#excel #powerbi #dax #powerbi-desktop

#excel #powerbi #dax #powerbi-desktop

Вопрос:

Я работаю над отчетом в Power BI, и я столкнулся с проблемой. Я хочу сделать простую вещь (в DAX или всеми возможными способами), а именно: создать столбец в отчете, который представляет собой процентную разницу для каждой указанной категории. Категория, которую я хочу рассмотреть, всего одна и указана в той же строке с именем «Элемент для сравнения». Чтобы прояснить вопрос, я привел здесь пример:

Элемент Общее значение Элемент для сравнения общего общая разница в% от указанного элемента
A 334 C 178,3%
B 323 D -73,8%
C 120 A -64,1%
D 1234 A 269,5%

Я хочу создать столбец «% DIFF УКАЗАН ЭЛЕМЕНТ ФОРМЫ», но я не могу найти простой способ сделать это, кто-нибудь может мне помочь? Большое вам спасибо.

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

1. Какая логика дает вам процентную разницу?

2. В первой строке просто: (120-334) / 120. Вычисление простое, но я не могу сделать это в Dax, потому что я не разбираюсь в синтаксисе

Ответ №1:

Предполагая, что ваши данные представляют собой таблицу, которую вы опубликовали в своем вопросе, без столбца%

T таблица

Таблица T

можно написать меру для вычисления общего значения текущей строки, затем значения для элемента для сравнения, установив контекст фильтра для элемента для сравнения CALCULATE и, наконец, вычислить процент с помощью DIVIDE

 %DIFF FORM ELEMENT SPECIFIED =
VAR CurrentValue =
    SUM ( T[Total Value] )
VAR ElementToCompare =
    SELECTEDVALUE ( T[Element to compare the total] )
VAR CompareValue =
    CALCULATE (
        SUM ( T[Total Value] ),
        T[Element] = ElementToCompare,
        REMOVEFILTERS ( T )
    )
VAR Result =
    DIVIDE (
        CurrentValue - CompareValue,
        CompareValue
    )
RETURN
    Result
 

используя эту меру в виде таблицы, мы получаем нужную таблицу

результирующая таблица визуальная

Ответ №2:

Используйте DAX , чтобы получить значение, необходимое для нахождения разницы, а затем выполнить вычисление. Я разделяю это на 2 для лучшего понимания.

  1. создайте новый столбец, используя LOOKUPVALUE для получения значения для сравнения.
     Value to be compared = LOOKUPVALUE([Total Value],[Element],[Elemet to be compared])
     

    введите описание изображения здесь

  2. Теперь это просто.Используйте свои вычисления в другом столбце. Убедитесь, что вы используете % формат для этого столбца.
     total %diff from element specified = ('Table'[Total Value] - 'Table'[Value to be compared])/'Table'[Value to be compared]
     

    введите описание изображения здесь