Расчет доли продаж по продуктам внутри бренда

Расчет доли продаж по продуктам внутри бренда

Расчет доли продаж по продуктам внутри бренда

В данном примере используется модель данных, описанная на странице Поддерживаемые функции DAX.

  1. Для выполнения этой операции необходимо сначала рассчитать доли продаж по брендам. Чтобы обеспечить корректный расчет и исключить влияние какой-либо фильтрации, мы будем использовать функцию REMOVEFILTERS, которая отменяет все фильтры по измерению dimproduct:

    Доли по брендам = SUM ( factonlinesales[salesamount] ) / CALCULATE ( SUM ( factonlinesales[salesamount] ), REMOVEFILTERS ( dimproduct ) )

    где

    • Числитель SUM ( factonlinesales[salesamount] ) – вычисляет сумму salesamount в таблице factonlinesales для текущего контекста (например, для конкретного продукта или категории, если такие фильтры применены).

    • Знаменатель CALCULATE ( SUM ( factonlinesales[salesamount] ), REMOVEFILTERS ( dimproduct ) ) – функция CALCULATE используется для изменения контекста фильтрации.

    • SUM ( factonlinesales[salesamount] ) – вычисляет общую сумму продаж, как и в числителе.

    • REMOVEFILTERS ( dimproduct ) удаляет все фильтры, примененные к таблице dimproduct, что позволяет получить общую сумму продаж без учета конкретных продуктов или категорий.

    • Результат: формула делит сумму продаж для текущего контекста на общую сумму продаж всех продуктов, что дает процентное соотношение или долю конкретного продукта в общем объеме продаж.

      ex1.png
  2. Теперь добавим в разбивку продукт. Мера будет считать долю каждого продукта от общей суммы продаж:

    ex2.png
  3. Теперь мы посчитаем долю каждого продукта внутри бренда. Для этого мы сгруппируем продажи по бренду с помощью функции SUMMARIZE:

    Доля в бренде = SUM ( factonlinesales[salesamount] ) / CALCULATE ( SUM ( factonlinesales[salesamount] ), REMOVEFILTERS ( dimproduct ), SUMMARIZE ( dimproduct, dimproduct[brandname] ) )

    где

    • Числитель SUM(factonlinesales[salesamount]) – вычисляет сумму продаж для текущего контекста.

    • Знаменатель CALCULATE(...) – функция CALCULATE используется для изменения контекста фильтрации:

      • REMOVEFILTERS(dimproduct) – удаляет все фильтры с таблицы dimproduct.

      • SUMMARIZE(dimproduct, dimproduct[brandname]) – создает таблицу, в которой группируются данные по брендам. Это обеспечивает расчет суммы продаж для каждого бренда без учета конкретных продуктов.
        Таким образом, формула делит сумму продаж конкретного продукта на общие продажи для его бренда, тем самым вычисляя долю продукта в продажах бренда.

        ex3.png

Смотрите также

Поддерживаемые функции DAX
Создание мер

Нужна дополнительная помощь?

Свяжитесь с технической поддержкой.