Тёмный

[Мастер-класс] Расчет количества новых, постоянных и потерянных клиентов в Power BI на языке DAX 

BI - это просто: Power BI, Pivot, DAX
Подписаться 7 тыс.
Просмотров 9 тыс.
50% 1

1) [Скачивайте] Файлы к уроку для Power BI и Power Pivot: biprosto.ru/lp...
2) [Скачивайте PDF] Справочник DAX функций для Power BI и Power Pivot на русском языке: biprosto.ru/ku...
Ссылка на подробную статью по данному видео: biprosto.ru/da...
Наш главный сайт "BI - это просто": biprosto.ru
В данном мастер-классе мы на практическом примере разберем несколько DAX формул, которые позволят Вам в Power BI и Power Pivot рассчитывать количество новых, постоянных и потерянных клиентов на основе итерационной функции SUMX. Решая данную задачу мы вместе с Вами разберемся тем, как работают итерационные X-функции в DAX, а также с тем, как итерационно (в цикле), перебирая какие-либо нужные значения, решать зависящие от этих значений выражения.
В формулах мастер-класса используются следующие DAX функции: SUMMARIZE, SUMX, PARALLELPERIOD, COUNTROWS, CALCULATE и CALCULATETABLE, DISTINCTCOUNT, переменные DAX (VAR + RETURN), а также для правильного отображения итогов конструкция из функций IF и HASONEVALUE.
Переходите, смотрите, изучайте подробный пошаговый видео-разбор формул DAX
----------------------------
Определение новых, постоянных и потерянных клиентов
Итак, прежде чем решать данную задачу в Power BI (Power Pivot), нам нужно определиться - собственно, а кто такие новые, кто такие постоянные, и кто такие потерянные клиенты. Когда мы ответим на этот вопрос, нам уже гораздо легче будет подойти к решению данной задачи в DAX.
Когда мы строим данный отчет, то в любом случае в этом отчете будут использоваться два периода: текущий период и какой-то прошедший период.
И если отвечать на вопрос: «Кто такие новые клиенты?», то можно дать такой ответ - это те клиенты, которые производили покупку в текущем периоде и в то же время, в прошлом периоде покупок у них не было. То есть, новые клиенты должны удовлетворять условию: покупки в текущем периоде больше 0 и покупки в прошлом периоде равны 0.
Хорошо, разобрались, идем далее, кто такие постоянные клиенты - это те клиенты, которые имеют покупки как в текущем, так и в предыдущем периоде. То есть, постоянные клиенты должны удовлетворять условию: покупки в текущем периоде больше 0 и покупки в прошлом периоде также больше 0.
Ну и потерянные клиенты - это обратная ситуация новых клиентов. То есть, это те клиенты, которые имели покупки в предыдущем периоде, а вот в текущем периоде уже нет.
#powerbi #power_bi #DAX #язык_DAX #Power_Pivot #функции_DAX #формулы_DAX

Опубликовано:

 

19 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 35   
@ДмитрийНикитин-и8о
@ДмитрийНикитин-и8о 2 месяца назад
Спасибо, Антон! Мне категорически не нравится формула меры "Новых клиентов", предложенная в книге Руссо и Феррари, а ваше решение мне видится куда понятнее и проще. И хотя пришлось допиливать вторую часть формулы, чтобы считались новые клиенты относительно всего предыдущего периода (а не только прошлого года), но вы подсказали направление. В итоге получилась такая формула меры "Новых клиентов": SUMX( SUMMARIZE( 'Sales', 'Sales'[CustomerKey]), IF( CALCULATE( COUNTROWS( 'Sales' ), FILTER( ALL('Date'), 'Date'[Date]
@pestovalexey
@pestovalexey 3 года назад
Спасибо. Очень ждём решение по поиску числа новых клиентов за произвольный предыдущий период. Решение с 1 годом, конечно, красивое, но на практике бесполезное. "Новый" клиент - означает, что ранее с ним не работали за всю историю деятельности компании, а не только в прошлом году.
@ДмитрийНикитин-и8о
@ДмитрийНикитин-и8о 2 месяца назад
Вот такая формула у меня получилась, если вам ещё интересно: SUMX( SUMMARIZE( 'Sales', 'Sales'[CustomerKey]), IF( CALCULATE( COUNTROWS( 'Sales' ), FILTER( ALL('Date'), 'Date'[Date]
@user-ij1fl5hz3z
@user-ij1fl5hz3z 5 лет назад
Неожиданный формат. Надеюсь на новые видео на канале и вебинары в том числе. Спасибо!
@bi-powerbipivotdax7623
@bi-powerbipivotdax7623 5 лет назад
Пожалуйста, Павел! В ближайшее время будет много видео в данном формате
@vvcvoilen
@vvcvoilen 5 лет назад
Спасибо за хороший контент! Очень полезно и с душой.
@bi-powerbipivotdax7623
@bi-powerbipivotdax7623 5 лет назад
пожалуйста))
@Михаил-ш4э5ч
@Михаил-ш4э5ч 2 года назад
Круто вообще, спасибо большое!
@user-ul6yv9pr8e
@user-ul6yv9pr8e 3 года назад
спасибо за контент есть таблица звонки ::: - дата - статус - сотрудник есть таблица продажи - дата покупки нужно подсчитать продажи не позднее успешного звонка 3 дня/6/9 например звонок был 01.01.2020, статус успешный, покупка 04.01.2020 - идет в счет этому сотруднику! (3 дня)
@ИннаИннуля-н2т
@ИннаИннуля-н2т 3 года назад
Скажите, пожалуйста, а почему Вы в своем учебном курсе "Быстрый старт в Dax" опомянаете только контекст строки и контекст фильтра. А почему ничего не говорите о контексте запроса ? Или контекст запроса входит в Dax, но не входит в Power BI ?
@zarinarza352
@zarinarza352 2 года назад
Спасибо за такое полезное видео. А не могли бы вы подсказать, как выдать имена, например, потерянных клиентов.
@kerusdc8322
@kerusdc8322 5 лет назад
огромная просьба: сделайте, пожалуйста, мини-видео, как из двух таблиц, которые мы получили из двух ранее созданных запросов, взять конкретные столбцы, объединить их, удалить дубли. чтоб сделать эту таблицу справочником, чтоб можно было по этому столбцу фильтровать данные из предыдущих двух таблиц
@bi-powerbipivotdax7623
@bi-powerbipivotdax7623 5 лет назад
хорошо, запишу
@kerusdc8322
@kerusdc8322 5 лет назад
@@bi-powerbipivotdax7623 спасибо! Жду с нетерпением )
@ТимурАхметзянов-б9и
К примеру, можно так: Таблица = GROUPBY(UNION(SELECTCOLUMNS('Таблица1';"Наименование";'Таблица1'[НужныйСтолбец]);SELECTCOLUMNS('Таблица2';"Наименование";'Таблица2'[НужныйСтолбец]));[Наименование])
@kerusdc8322
@kerusdc8322 5 лет назад
@@ТимурАхметзянов-б9и спасибо большое! )
@АндрейМотовилов-ц3и
Добрый День! Спасибо за видео, подскажите возможно ли сделать такой расчет, за недельный период? У меня получается только год, месяц, квартал.
@assa777alex
@assa777alex 2 года назад
Спасибо! Интересный урок, но работает на текстовых полях ФИО очень медленно, а при таблице в более 100 000 строк просто вешает ПК.
@ИванБелков-л5м
@ИванБелков-л5м 2 года назад
Добрый вечер. Подскажите пожалуйста вункцию счетеслимн как в экселе только аналог в pi
@user-oi1yq1dz8e
@user-oi1yq1dz8e 2 года назад
Спасибо большое! Но у меня это не работает. А есть еще варианты?
@ОльгаБогданова-й3н
сейчас пытаюсь повторить ваши расчеты. power bi пишет, что синтаксис неверный, возможно ли, что pbi обновился и теперь как-то по-другому работают формулы dax?
@8578-l9j
@8578-l9j 2 года назад
непонятно как в summarize выдается таблица именно за 2019 год? У меня нет таблицы в Отчете, где я выбираю ячейку 2019 год. Как тогда?
@АлибекКошанов-щ7ц
@АлибекКошанов-щ7ц 3 года назад
Добрый день! Можно вычислить новых клиентов относительно конкретной даты? если да, то есть инструкция?)
@ДмитрийНикитин-и8о
@ДмитрийНикитин-и8о 2 месяца назад
У меня вот такая формула меры получилась: SUMX( SUMMARIZE( 'Sales', 'Sales'[CustomerKey]), IF( CALCULATE( COUNTROWS( 'Sales' ), FILTER( ALL('Date'), 'Date'[Date]
@natalyakonovalova_
@natalyakonovalova_ 4 года назад
Антон, добрый день. Можно вопрос по теме? Если данный код(его основную часть, без IF) - [_КолНовыхКлиентов] занести в Карточку, а не в таблицу с датами, причем никаких других фильтров на странице нет... выдает значение: 2. Что данная мера посчитала? ((какая дата Здесь в КФ?) И можно ли ПРАВИЛЬНО вывести [_КолНовыхКлиентов] в Карточку? Заранее СПАСИБО.
@bi-powerbipivotdax7623
@bi-powerbipivotdax7623 4 года назад
Здравствуйте, Наталья. Данная мера для карточки не подходит и вообще не имеет смысла. Так как формула рассчитывает новых клиентов. А чтобы получить новых клиентов текущем периоде, то обязательно должен быть и прошлый период. Все это должно быть правильно подано из контекста фильтра (в контексте фильтра должен быть конкретный год, так как в формуле проверяются продажи за предыдущий год относительно текущего). А в карточке нет никаких фильтров. Там подается полная таблица со всеми датами и формула вычисляется совершенно неверно
@svetlanakuritsyna7530
@svetlanakuritsyna7530 5 лет назад
Спасибо за видео! Подскажите, правильно ли поняла, что функция SUMMARIZE включена в формулу, чтобы исключить задвоения по клиентам, если у них несколько продаж в одном периоде?
@bi-powerbipivotdax7623
@bi-powerbipivotdax7623 5 лет назад
Да, правильно. Нам конкретного клиента нужно взять только 1 раз, чтобы проверить по нему оплаты в предыдущем периоде. Если мы возьмем этого клиента еще раз, то он уже будет подсчитан 2 раза, что будет являться ошибкой в результатах подсчета
@svetlanakuritsyna7530
@svetlanakuritsyna7530 5 лет назад
BI - это просто: Power BI, Pivot, DAX спасибо за ответ. Я только в начале пути освоения Dax - с вашими видео и справочником жизнь упростилась)
@nataliakiseleva6349
@nataliakiseleva6349 4 года назад
Спасибо за интересное видео! Я правильно понимаю, что этот метод не совсем подходит, если нужно смотреть на ВСЕ предыдущие периоды? (когда не 2 года, а 5 и нужно чтобы клиент был совсем-совсем новым, ни разу не встречавшимся за эти года)
@anastasiaminenko6741
@anastasiaminenko6741 4 года назад
Spasibo! Mnogo poleznoj informazii & ponyatnoe objasnenie.
@pestovalexey
@pestovalexey 3 года назад
Наталья, вы сумели найти решение для поиска новых клиентов за произвольный период, а не только по сравнению с прошлым годом?
@nataliakiseleva6349
@nataliakiseleva6349 3 года назад
@@pestovalexey да, удалось. Сейчас не вспомню уже как, нет этой книги под рукой, к сожалению.. Но в интернете нашлось нужное решение.
@ДмитрийНикитин-и8о
@ДмитрийНикитин-и8о 2 месяца назад
@@pestovalexey вот такое решение у меня получилось, если вам ещё интересно: SUMX( SUMMARIZE( 'Sales', 'Sales'[CustomerKey]), IF( CALCULATE( COUNTROWS( 'Sales' ), FILTER( ALL('Date'), 'Date'[Date]
@zarinarza352
@zarinarza352 2 года назад
Спасибо за такое полезное видео. А не могли бы вы подсказать, как выдать имена, например, потерянных клиентов.
Далее
연준 (YEONJUN) ‘GGUM’ Official MV
02:44
Просмотров 7 млн