2017-02-01 2 views
1

Мне нужно построить формулу в DAX, которая покажет количество клиентов, которые приобрели снова после их первоначальной покупки, разломанной Продуктом. У меня есть стандартный хранилище данных с таблицей фактов заказа, таблицы размеров клиента и таблицей размеров продукта. Я могу найти количество клиентов, которые приобрели каждый продукт по их первоначальной покупки, используя эту формулу:Построение формулы анализа шлюза DAX

First Purchase Customer Count = CALCULATE(DISTINCTCOUNT(Demand[CustomerKey]),Demand[Customer Order Sequence Number] = 1) 

Моя визуал таблица с продуктом в качестве единственного атрибута, так что это первая формула вычисляется по Продукт. Следующая формула должна учитывать количество клиентов, которые купили второй раз, независимо от того, какой продукт они приобрели во второй раз, но в нее должны входить только клиенты, которые приобрели текущий продукт в первый раз. Я успешно создал эту формулу, чтобы сделать это, но обычно это ошибка в пределе строки 1М, если я не фильтрую продукт по подкатегории.

Как я могу улучшить эту формулу, чтобы она работала без бомбардировок?

ответ

0

Старый вопрос, но, вне зависимости от того, что это все еще проблема для вас, рассмотрели ли вы образец New и возвращающихся клиентов на DaxPatterns.com? http://www.daxpatterns.com/new-and-returning-customers/

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

Решение DaxPatterns немного отличается. Вместо того, чтобы рассчитывать 2 потенциально большие таблицы клиентов «на лету», а затем присоединяться к ним, он подсчитывает существующих клиентов, совершивших предварительную покупку.

Вам необходимо будет адаптировать свое решение в соответствии с вашими требованиями. У них есть концепция Абсолютных Возвращающихся Клиентов (это означает, что первая покупка клиента была для любого продукта, а вторая покупка была для конкретного продукта, о котором вы заботитесь). Вы хотите обратить вспять это (первая покупка клиента была для конкретного продукта, а их вторая покупка может быть любой).

В целом, у вас будет меньше бомбардировок, если вы начнете с единого списка постоянных клиентов и отфильтровыте клиентов, которых вы не хотите (т. Е. Кто никогда не купил снова), и не компилирует 2 отдельных списка клиентов и пересекающих их.

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

Смежные вопросы