Страницы: 1
RSS
Кол-во чеков в двух часовой интервал.
 
Добрый день, просьба помочь.
Имеется номера чеков и время их пробития, как посчитать сколько чеков пробивается в интервалы по  два часа начиная с 11:00 - 13:00, 13:00 - 15:00 и т.д.
Заранее спасибо.  
Изменено: Pkl - 29.09.2022 19:16:01
 
Попробуйте так
 
pq:
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    f = (x)=>Time.Hour(Time.From(x)),
    a = Table.SelectRows(Source, (x)=>f(x[Время])>= 11),
    sort = Table.Sort(a, {"Время", Order.Ascending}),
    b = Table.TransformColumns(sort, {"Время", (x)=> if Number.Mod(f(x), 2) = 1 then f(x) else null}),
    c = Table.FillDown(b, {"Время"}),
    q = Table.Group(c, "Время", {"all", (x)=>Table.RowCount(x)})
in
    q

добавил сортировку, спасибо whateverlover
Изменено: Антон - 30.09.2022 00:31:52
 
Ответы разнятся  :)
Код
let
    Источник = Table.TransformColumnTypes(Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],{{"Время", type time}}),
    Sort = Table.Sort(Источник,{{"Время", Order.Ascending}}),
    Group = Table.Group(Sort, "Время", 
        {
            {"Период", each 
                [a = Time.Hour(List.Min(_[Время])) ,
                 b = if Number.IsEven(a) then a-1 else a  , 
                 c = Text.From(b) & " - " & Text.From(b+2)
                ][c]},     
            {"Количество чеков", each Table.RowCount(_)}
        }, 
        GroupKind.Local, (s,c) => Number.From(Time.Hour(c)>Time.Hour(s) and not Number.IsEven(Time.Hour(c))))[[Период],[Количество чеков]]
in
    Group

upd. Хотя у меня с MSI плюс минус одно и то же вышло, просто у MSI по четным периодам делилось  :)


Антон, еще куда-то один чек у Вас пропал, их 1811, у Вас в сумме 1810 дает.  :oops:
Изменено: whateverlover - 30.09.2022 00:33:52
 
Цитата
Pkl написал:
начиная с 11:00
все что ранее - не берем в расчет, я так понял
Изменено: Антон - 30.09.2022 00:42:34
 
и то верно, что-то на это внимание вообще не обратил  :)
Страницы: 1
Наверх