Пользователь получает ежемесячные отчеты клиентов с промежуточными суммами продаж за месяц (несколько десятков тысяч строк). Продажи отображаются в виде промежуточной суммы, я пытаюсь найти решение powerquery, чтобы получить фактические продажи в виде (* требуется *) вывода:
╔══════╦═══════╦═════════╦═══════╦════════════╗
║ Year ║ Month ║ StoreID ║ Sales ║ *Required* ║
╠══════╬═══════╬═════════╬═══════╬════════════╣
║ 2017 ║ 10 ║ 1 ║ 5 ║ 5 ║
║ 2017 ║ 11 ║ 1 ║ 11 ║ 6 ║
║ 2017 ║ 12 ║ 1 ║ 18 ║ 7 ║
║ 2017 ║ 11 ║ 2 ║ 10 ║ 10 ║
╚══════╩═══════╩═════════╩═══════╩════════════╝
В tSQL я бы сделал что-то вроде
Sales - LAG(Sales,1,0)OVER(Partiton by Year, StoreID Order by Month)
На аналогичный вопрос (но наоборот) был дан ответ, но предлагаемое решение выглядит как эквивалент перекрестного соединения. Я новичок в powerquery (поэтому я могу ошибаться), но я не вижу, чтобы это было жизнеспособно, поскольку наборы данных растут каждый месяц. Есть ли лучший способ подойти к этому, я не могу найти пример в «М»?
Изменить: List.Range выглядит многообещающе