Страницы: 1
RSS
Вычисление интервалов дат Power Querry, Разница между двумя датами для уникального аргумента
 
Добрый день!

Есть массив состоящий из двух наборов данных.

Первый набор данных  - id пользователя
Второй набор данных - дата совершения им покупки

Нужно для каждого пользователя в Power Querry вычислить интервалы покупки в днях  между датами которые ему присвоены.
Т.е у одного пользователя может быть несколько покупок в разные даты и нужно вычислить разницу между покупками: последней и предпоследней, предпоследней и предпредпоследней и т.д.

Подскажите дорогие друзья формулу в Power Querry для этой задачи.
Цель - потом на основании этих данных построить сводную для понимания как наиболее часто люди совершают покупки.
 
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Gr = Table.Group(Source,{"ID"},{{"a", each let a=_, b=
    Table.FromColumns({{0}&List.RemoveLastN(a[Date])}&{a[Date]},
    {"a","Date"}),c=Table.AddColumn(b, "Разница дней", each try [a]-
    [Date] otherwise null) in c[[Date],[Разница дней]]}}),
    Ex = Table.ExpandTableColumn(Gr,"a",{"Date","Разница дней"})
in
    Ex
 
Цитата
Михаил Л написал:
од ? 123456789let    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],    Gr = Table.Group(Source,{"ID"},{{"a", each let a=_, b=    Table.FromColumns({{0}&List.RemoveLastN(a[Date])}&{a[Date]},    {"a","Date"}),c=Table.AddColumn(b, "Разница дней", each try [a]-    [Date] otherwise null) in c[[Date],[Разница дней]]}}),    Ex = Table.ExpandTableColumn(Gr,"a",{"Date","Разница дней"})in    Ex
Спасибо!
 
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Typed = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"Date", type date}}),
    Grouped = Table.Group(Typed, {"ID"}, {
        {"tmp", 
        each 
            let 
                dates = List.Sort(_[Date]), 
                datesTab = Table.FromColumns({dates, {null}&List.RemoveLastN(dates, 1) }, {"Date","DateShift"}) 
            in 
                Table.AddColumn(datesTab, "Difference", each Duration.TotalDays([Date]-[DateShift])),
        type table [Date=date, Difference=Int64.Type]
                }
            }
        ),
    Expanded = Table.ExpandTableColumn(Grouped, "tmp", {"Date", "Difference"}, {"Date", "Difference"})
in
    Expanded
F1 творит чудеса
Страницы: 1
Наверх