Есть ли в Power Query способ вычислить промежуточную сумму на основе двух столбцов, которые сбрасываются на основе текстового значения?

Я пытаюсь создать в Power Query промежуточную сумму для каждого месяца каждого финансового года, которая сбрасывается в начале нового финансового года.

Я могу создать промежуточную сумму для всего столбца, но я не могу понять, как сбрасывать сумму каждый раз, когда ClosedMonth равен апрелю / при изменении финансового года.

Я хотел бы выполнить это в Power Query, потому что я загружаю данные из базы данных и хочу, чтобы таблица автоматически обновлялась каждый день, когда запланировано обновление Power BI.

Текущая таблица с названием

Результат, которого я пытаюсь достичь для столбца промежуточной суммы, будет:

Желаемый результат столбца


person Nate    schedule 10.04.2019    source источник


Ответы (1)


Создайте функцию с именем fnAddRunningSum

(MyTable as table) as table =>
//see:  https://community.powerbi.com/t5/Desktop/How-to-do-a-running-Sum-by-group-in-Power-Query/td-p/290123
let Source = Table.Buffer(MyTable),
TableType = Value.Type(Table.AddColumn(Source, "Running Sum", each null, type number)),
Cumulative = List.Accumulate(Source[Count],{},(cumulative,amount) => cumulative & {List.Last(cumulative, 0) + amount}),
AddedRunningSum = Table.FromColumns(Table.ToColumns(Source)&{Cumulative},TableType)
in AddedRunningSum

затем создайте запрос

let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Grouped" = Table.Group(Source, {"ClosedFiscalYear"}, {{"AllData", fnAddRunningSum}}),
#"Expanded AllData" = Table.ExpandTableColumn(#"Grouped", "AllData", {"ClosedMonth", "Count", "Index", "Running Sum"}, {"ClosedMonth", "Count", "Index", "Running Sum"})
in #"Expanded AllData"
person horseyride    schedule 10.04.2019