#powerbi #dax
#powerbi #dax
Вопрос:
Я новичок в DAX, и у меня есть 2 вопроса, на которые я хотел бы получить ответы для проекта. Я работаю над тем, чтобы выяснить, какова первая стоимость на одного клиента, и с какой суммой приходит клиент.
Кроме того, я хотел бы знать, сколько времени проходит между заказами клиента, возвращается ли клиент, чтобы купить что-то через день, неделю или только через год. И если клиент приходит 5 раз, сколько времени проходит между заказами каждый раз.
Набор данных
введите описание изображения здесь
Теперь я попробовал следующее, но тогда я каждый раз возвращаю только первую дату, но затем каждый клиент получает самую первую дату заказа, которая существует.
First Order = CALCULATE(FIRSTDATE(Text[Datum].[Date]),VALUES(Text[Datum].[Date]))
Как я могу решить эти два вопроса с помощью DAX
Ответ №1:
Вы можете попробовать следующее:
- Начальное значение для измерения клиента
Initial value = -- find customers first appearance date VAR first_date = CALCULATETABLE ( FIRSTDATE ( 'Table'[Date] ), -- remove all filters on 'Table'[Date] REMOVEFILTERS ( 'Table'[Date] ) ) RETURN CALCULATE ( SUM ( 'Table'[Value] ), first_date )
- Мера даты первого заказа
First Order = CALCULATE ( FIRSTDATE ( 'Table'[Date] ), REMOVEFILTERS ( 'Table'[Date] ) )
- С момента последнего визита прошло несколько дней.
Days passed = VAR last_visit = CALCULATE ( MAX ( 'Table'[Date] ), 'Table'[Date] -- from example expecting Customer ID amp; Date form unique combination, -- otherwise use MAX() instead lt; SELECTEDVALUE ( 'Table'[Date] ) ) RETURN DATEDIFF ( last_visit, -- same here as above with SELECTEDVALUE() SELECTEDVALUE ( 'Table'[Date] ), DAY )
Результат будет выглядеть следующим образом (представлен в виде таблицы).: