Страницы: 1
RSS
Получение сводной таблицы с детализацией больше исходной
 
Добрый день!

Есть выгрузки данных из разных источников.
Пусть это агрегированные результаты проектов.
Поскольку внутри каждого проекта есть суммы с НДС и без НДС, в свернутых строках усреднённая ставка НДС соответственно может быть любой от 0% до 20%.
Для целей импорта в агрегирующую систему каждую строку нужно развернуть на две (с фиксированными ставками НДС 0% и 20%), например:
свёрнутая строка: выручка с НДС = 120; выручка без НДС = 105;
нужно развернуть:
строка 1: выручка с НДС 20% = 90 (НДС = 15)
строка 2: выручка с НДС 0% = 30 (НДС = 0)
Интуитивно хочется сделать сводной таблицей, но, насколько понимаю, добавлением аналитик больше строк, чем было в исходной таблице, не получить.
Подскажите изящное решение для регулярной обработки стандартными средствами excel без ручного копирования строк.

Пример приложил.
Заранее спасибо!
 
shmantz, вариант в PQ
Код
let
  src              = Table.Buffer ( Excel.CurrentWorkbook(){[ Name = "НДС" ]}[Content] ),
  add20            = Table.AddColumn ( src, "20%", each Number.Round ( [Сумма НДС] * 6, 2 ), type number ),
  add0             = Table.AddColumn ( add20, "0%", each [Сумма с НДС] - [#"20%"], type number ),
  needClmns        = Table.SelectColumns ( add0, { "Исходная аналитика", "20%", "0%" } ),
  unpivot          = Table.UnpivotOtherColumns ( needClmns, { "Исходная аналитика" }, "Дискретная ставка НДС", "Сумма с НДС" ),
  typed            = Table.TransformColumnTypes ( unpivot, { { "Дискретная ставка НДС", Percentage.Type } } ),
  addSumWithoutVAT = Table.AddColumn ( typed, "Сумма без НДС", each [Сумма с НДС] / ( 1 + [Дискретная ставка НДС] ), type number ),
  addVAT           = Table.AddColumn ( addSumWithoutVAT, "Сумма НДС", each [Сумма с НДС] - [Сумма без НДС], type number ),
  reorder          = Table.ReorderColumns ( addVAT, { "Исходная аналитика", "Сумма с НДС", "Сумма НДС", "Сумма без НДС", "Дискретная ставка НДС" } )
in
  reorder
 
,большое спасибо
к сожалению, совсем не владею PQ
думал, можно как-то по рабоче-крестьянски
Страницы: 1
Наверх