Dax сравнить клиентов выбранный месяц против других месяцев - PullRequest
2 голосов
/ 04 февраля 2020

Я пытаюсь взять список покупателей, которые купили, скажем, в январе 2019 года, и данные из продаж подсчитывают, сколько из тех покупателей в январе, купленных в феврале, марте и т. Д. c.

Любые идеи, Я испробовал множество представленных решений, но ни одно из них, похоже, не соответствует моим потребностям

enter image description here

Так что потребуется вернуть 2 клиентов с января, 2 с января куплено в феврале и только 1 января куплено в марте.

Вывод будет выглядеть примерно так

enter image description here

Где Ян Покупатели учитываются в феврале и марте et c.

1 Ответ

1 голос
/ 04 февраля 2020

Хорошо, я сгенерировал некоторые случайные данные в Excel и вставил их в качестве источника мощного запроса:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("dZRLDsQwCEPv0nUXQNJ8zlLN/a8xGjWQ0UPdWhgbQ3Lfh0o/zsNEp4zjc/6AsgCVB1CvUFuAOaUtykDFbuoVE4A6RZwiDpRVUR3QBVysSNaV1r2prh5irz0uzCJvlB2QUsVACdnmPSozFVYMAFFhNHZRtkAlKkI2Qp4PYEKKwodG047Nxfgdq9QJYwG4rPIchLtNiW1jhefg41dSjLutVOHBbB/KgDpOOy07AqpsKvSRAipMXRHyPjqnNK5hcPz0gCYXJXC676NBVpLKIMBzCOtCCv8PS2+ff5CQsnsMpB63nh7h/y/1+QI=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Customer = _t, #"Purchase YearMonth" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Customer", Int64.Type}, {"Purchase YearMonth", Int64.Type}})
in
    #"Changed Type"

Я думаю, что эффективный подход - это просто использовать DAX для добавления столбца в ваш набор данных, который будет «помечать» каждую строку самой ранней датой покупки. Это вычисляемый столбец, а не мера.

Earliest Purchase YearMonth = 

CALCULATE(
MIN('Sales'[Purchase YearMonth]),
FILTER(
   'Sales',
   Sales[Customer] = EARLIER(Sales[Customer]) 
))

Затем просто используйте матричный визуал с самой ранней датой покупки в заголовках строк, датой покупки в заголовках столбцов и числом, отличным от значения Customer в качестве значений.

enter image description here

Надеюсь, это поможет!

...