Вычисление процента от общего итога по категориям с использованием DAX только для одной категории

#powerbi #dax #percentage

#powerbi #dax #процент

Вопрос:

Мне нужна помощь в расчете процента каждой категории в столбце (на основе общего итога) в DAX, но для одной конкретной категории.

Вот как структурируются данные. Каждая строка представляет собой отдельную транзакцию со столбцом идентификатора и столбцом элемента.

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

Мне нужно получить % транзакций, которые предназначены только для бубликов. Это мой SQL-код, который я использую в настоящее время.

 `Select 100 - CAST(count([Items]) 
 - count(case [Items] when 'Bagel' then 1 else null end) AS FLOAT) 
 / count([Items]) * 100 as Percent_Bagel 
 from Items_Table where Items != 'Coffee' 
 and Items != 'Muffin'`
  

Мне нужно, чтобы это было преобразовано в формулу DAX для использования в измерении Power BI, если это возможно, но я новичок в DAX и не знаю, с чего начать.

Спасибо.

Ответ №1:

«Правильная» реализация для вас всегда зависит от контекста. Вы можете достичь своей цели с помощью различных подходов.

Я использовал следующее:

 Measure = 
DIVIDE(
    -- Numerator: Filter all Bagel's transaction and count them
    CALCULATE(
        COUNT('Table'[Transaction ID]),
        FILTER('Table', 'Table'[Item] = "Bagel")
    ),
    -- Denominator: Remove any filter - essentially fixing the full table - and count all transactions we have
    CALCULATE(
        COUNT('Table'[Transaction ID]), 
        ALL('Table'[Item])
    ),
    -- If something goes wrong with the DIVIDE, go for 0
    0
)
  

Вы также можете использовать фильтры, чтобы исключить все показатели, которые не являются пустыми.

Без фильтра измерения

С фильтром измерения (другие категории удалены)

Надеюсь, это то, что вы ищете!