Страницы: 1
RSS
Значения мер в столбцы и строки сводной таблицы
 
Доброго времени суток!
Подскажите, пожалуйста, в какую сторону копать,
есть мера , просто суммирующая выручку,
и есть мера, просто суммирующая продажи единиц.
Нужно в столбец и строки разместить диапазоны значений мер и посчитать количество покупателей, соответствующих этим разделам.
Покупатели в отдельной таблице.
 
Цитата
Lari написал:
Покупатели в отдельной таблице.
На отдельной картинке вы хотели сказать?  ;)
А если серьезно, то вам нужно смотреть в сторону асимметричных мер. Простенький пример реализации по одному измерению есть здесь.
Вам осталось только понять и усложнить под вашу задачу. Обещаю - будет не просто.
Вот горшок пустой, он предмет простой...
 
Я не могу понять, подходит ли этот пример
https://www.daxpatterns.com/dynamic-segmentation/
 
PooHkrd,спасибо, буду смотреть.
 
Доброе время суток
Цитата
Lari написал:
диапазоны значений мер
Можете расшифровать - что это значит? Мера всегда возвращает скалярное значение, как она может иметь диапазон? Если вы хотите построить сводную на интервальных измерениях, которые естественно не могут быть связаны с таблицей фактов, то да Dynamic segmentation как способ решения, вполне себе подходит.
 
Андрей VG, мера дает скалярное значение которое входит в диапазон показанный у меня на рисунке.
спасибо за подтверждение ссылки.
 
Цитата
Lari написал:
мера дает скалярное значение которое входит в диапазон показанный у меня на рисунке.
Скалярное значение меры 70 никак не может попасть в диапазон  от 100 до 200 и не может входить в диапазон второго измерения от 5 до 10. Чётче формулируйте постановку задачи, иначе долго придётся идти путём научного тыка метода проб и ошибок. :)
Изменено: Андрей VG - 24.08.2020 15:59:39
 
Андрей VG,не совсем понял #7,
есть покупатель, который за выбранный в фильтре период времени потратил денег в магазине на сумму 85 рублей, и купил на эту сумму 4 единицы товара.
есть покупатель, который за выбранный в фильтре период времени потратил денег в магазине на сумму 50 рублей, и купил на эту сумму 3 единицы товара.
оба покупателя выше будут учтены в категории на таблице (где у меня написано 100 чел).
и т.д.
Изменено: Lari - 24.08.2020 16:06:59
 
Lari, В книге Гайд ту ДАКС вам нужна глава Динамическая сегментация с использованием виртуальных связей, c. 529. Там очень подробно все расписано.
Вот горшок пустой, он предмет простой...
 
Lari, вот и пишите как #8, а не как в #6 :)
 
PooHkrd,супер, большое спасибо!!!
я там искал асимметричные меры, но не нашел)
Изменено: Lari - 24.08.2020 16:18:23
 
Андрей VG,виноват, поторопился.
 
Lari, да не за что. Только еще раз предупреждаю, это довольно сложная тема, и желательно не просто выдергивать формулу и по наитию прикручивать её к вашей задаче, а все таки понять, что пишут на предыдущих 528 страницах.   :)
Тем более что у вас сегментация по двум таблицам. В общем не просто это все.
Вот горшок пустой, он предмет простой...
 
Интересно, что это в DAX творится с таблицей истинности. Пока сообразил, что нужно на not isblack проверять...
 
Андрей VG, огромное спасибо за предоставленное решение!!!
Я не догадался  так пример сделать!
Думал как модифицировать имеющиеся данные да чтобы они были сопряжены.
Большое спасибо за помощь!!!
 
Цитата
написал:
Прикрепленные файлы
Всем привет! А если нужно вывести вместо распределения по "количеству" клиентов "сумму их выручки", т.е. просуммировать один из столбцов таблицы SUMMARIZE, которую мы получаем в качестве переменной? Т.е. решить аналитическую задачу, из разряда "какую совокупную выручку нам приносят клиенты, которые относятся к каждому из сегментов"? Попытки сослаться на столбцы этой таблицы выдают ошибку.
 
Похоже, я нашел решение:
Код
Кол-во клиентов:=Var clientStats = SUMMARIZE('Клиенты'; 'Клиенты'[Клиент]; "client unit count"; [Кол-во единиц]; "client amount"; [Сумма покупок])
Var unitFrom = MIN('Единиц'[От])
Var unitTo = MAX('Единиц'[До])
Var amountFrom = MIN('Выручка'[От])
Var amountTo = MAX('Выручка'[До])
Return SUMX(FILTER(clientStats;
    unitFrom <= [client unit count]
    && [client unit count] < unitTo
    && amountFrom <= [client amount]
    && [client amount] < amountTo
    && NOT(ISBLANK([client amount]))
);[client amount])
Страницы: 1
Наверх