power bi: различные вычисления для нескольких строк

#powerbi #powerbi-desktop

Вопрос:

Не могли бы вы, пожалуйста, помочь мне применить различные вычисления для 2 строк в power BI:

то есть преобразовать эту таблицу:

 client_ids products purchased month
1          0        0         jan
2          1A       1         jan
2          1B       1         jan
3          0        0         jan
4          0        0         jan
5          0        0         feb
 

в это:

 purchased jan feb
1         1   
0         3   1
 

То есть для выполнения вычислений:

-при покупке = 0 — количество за месяц, клиент

-при покупке = 1 — количество в течение месяца, клиент

Спасибо.

Я использовал этот метод:

-создайте ссылку на основной запрос в редакторе запросов

-опустите колонку с продуктами

-отбросьте дубликаты

Но это замедляет загрузку отчета.

Ответ №1:

Чтобы вернуть ожидаемый результат, вы можете выполнить два шага для получения результата из данных:

Предполагая, что это ваша таблица с датой:

введите описание изображения здесь

Во-первых, вычислите месяц, отличный от сегодняшнего, чтобы найти последний месяц (вы можете попробовать другой метод в зависимости от характера ваших данных):

 Mon Diff = (YEAR(NOW()) - YEAR(Sheet1[date]))   (MONTH(NOW()) - MONTH(Sheet1[date]))
 

Во-вторых, оцените последний месяц как текущий:

 rank = 
var ranking = RANKX(Sheet1,Sheet1[Mon Diff],,,Dense)
return
SWITCH(ranking,1,"prior",2,"current")
 

В-третьих, создайте отдельные значения из столбца покупка

 Table = DISTINCT(Sheet1[purchased])
 

В-четвертых, рассчитайте частоты 0 и 1 в предыдущем месяце, то же самое для февраля

   Jan = CALCULATE(COUNT(Sheet1[rank]),Sheet1[rank]="prior",
        Sheet1[purchased]=EARLIER('Table'[purchased])) 


 Feb = CALCULATE(COUNT(Sheet1[rank]),Sheet1[rank]="current",
        Sheet1[purchased]=EARLIER('Table'[purchased])) 
 

Новая таблица для информации (в январе покупка 2 имеет 2 случая вместо 1):

введите описание изображения здесь

Комментарии:

1. Кин Сианг, спасибо тебе. Первый шаг (создание столбца с различными значениями) дал мне ошибку: была предоставлена таблица с несколькими значениями, в которой ожидалось одно значение. Я также был бы рад автоматизировать процесс расчета статистики за каждый месяц, так как каждый месяц я должен включать в отчет последний месяц и исключать первый.

2. Distinct функция должна возвращать только уникальное значение, почему вы получаете ошибку, или таблица, которую вы отображаете, не из источника данных, а из таблицы матрицы? Ваша вторая часть может быть решена путем преобразования месяца в индекс 1 и 2, затем он будет автоматически рассчитан, вы понимаете мою точку зрения?

3. Кин Сианг, спасибо за ответ. Я совсем не понял, к чему ты клонишь. Да, у меня есть матричная таблица. Следует ли мне создавать таблицу sepparate с использованием DISTINCT, например, словаря. Что касается преобразования месяца в целые числа, у меня есть информация за разные годы, поэтому недостаточно преобразовать месяцы только в числа. Буду рад, если вы дадите мне более подробную информацию.

4. Определенно он вернет ошибку, когда вы попытаетесь получить distinct значение из таблицы матрицы, вы должны получить значение только из исходной таблицы. Смотрите Мой отредактированный ответ о вычислении значения исправления.