Показатель DAX: «Взвешенное распределение%» - PullRequest
1 голос
/ 18 июня 2020

Надеюсь, вы поможете мне с сложной проблемой. Я пытаюсь создать меру, которая вычисляет «взвешенный% распределения» продукта.

Бизнес-определение для этого расчета:

«В цепочке клиентов у нас есть несколько клиентов. который покупает определенный c продукт (выбранный). Нам нужно выяснить, какой объем «покупатели-покупатели» покупают для всей ГРУППЫ ПРОДУКТОВ (к которой принадлежит этот продукт), и сравнить это с объемом ГРУППЫ ПРОДУКТОВ, купленных ВСЕМИ клиентами в цепочке клиентов ».

Пример (расчет):

Продукт (выбранный) = «Продукт 1»

Количество ВСЕХ клиентов в «Цепочке 1» = 18

Объем ГРУППЫ ПРОДУКТОВ, купленных ВСЕМИ покупателями в цепочке = 10,915

Количество покупателей ПОКУПКИ в «Цепочке 1» (которые купили «Продукт 1») = 8

Объем купленных ГРУППЫ ПРОДУКТОВ при ПОКУПКЕ клиентов в цепочке = 6,945

Расчет:

Взвешенное распределение% =
Объем (ПОКУПКА клиентов в цепочке) / Объем (ВСЕ клиенты в цепочке) = 6,945 / 10,915 = 63,6%

Пример (настройка расчета в PBI):

Теперь моя модель данных (упрощенная) выглядит так: Data model

ПРИМЕЧАНИЕ (только для информации): вы можете спросить, почему я считаю клиентов обоими «D_Customer» и «F_SALES», но это потому, что я могу подсчитывать клиентов по указанным c датам транзакций I F_SALES, и их у меня нет в D_CUSTOMER Если я установил следующие фильтры:

Цепочка = «Цепочка 1»

Продукт = «Продукт 1»

Я получаю следующую таблицу:

enter image description here

Затем я вычисляю объем в ГРУППЕ ПРОДУКТОВ с помощью следующей меры

Volume (PRODUCT GROUP) = CALCULATE('F_SALES'[Volume];ALLEXCEPT('D_PRODUCT';'D_PRODUCT'[Product group]))

и добавляю его в таблицу:

enter image description here

Теперь у меня есть часть «Объем (ВСЕ клиенты в цепочке)» для расчета взвешенного распределения. enter image description here

Моя проблема в том, как сделать меру, которая показывает объем только для ПОКУПАТЕЛЕЙ?

Я попытался сделать следующий расчет, который приближает меня:

Volume (BUYING Customers) = 
VAR BuyingCustomers_=CALCULATE([Number of Customers(F_SALES)];FILTER('F_SALES';NOT(ISBLANK('Sold to trade'[Customer ID])))) 
RETURN
SUMX(SUMMARIZE(D_Customer;D_Customer[Customer Chain];"volume";CALCULATE('F_SALE'[Volume];ALLEXCEPT('D_Product';'D_Product'[Product Group]);FILTER('F_SALE';NOT(ISBLANK(BuyingCustomers_)))));[volume])

Результат:

enter image description here

Но, как видите, объем не суммируется с Уровень «ГРУППА ПРОДУКТОВ»?

Мне нужно следующее:

enter image description here

Что даст мне меру, необходимую для моих расчетов :

enter image description here

Кто-нибудь может принести мне недостающую часть?

Буду очень признателен.

Br, Джей-Джей0306

...