Новости:

Форум на данный момент в стадии обновления. Если у Вас возникли проблемы со входом в свою учетную запись - просьба писать на email: info@excel-vba.ru

Главное меню

Преобразование выгрузки из 1С

Автор Nataliya, 24.03.2019, 17:57:10

« назад - далее »

Nataliya

Уважаемые знатоки!
Очередная проблема с выгрузкой из 1С.
Может кто-то поможет.
Есть данные выгрузки и нужный результат.

Дмитрий Щербаков(The_Prist)

PowerQuery здесь вряд ли поможет. Здесь ориентир только на отступы, а она их не видит.
У меня получилось через MulTEx(Подготовить таблицу - строки) сделать с такими настройками:
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Nataliya

Дмитрий Щербаков! У меня получилось через Power Query. Правда пришлось создать 2 справочные небольшие таблицы, а потом через запрос Merge. Ну и некоторые преобразования по заполнению вниз.

sboy

Приложите пример запроса. Для будущих поколений  :)

Коновалов Олег

Добрый день!
Дублирую сообщение, а то прошлое вроде как ушло, но не ушло из-за неправильного формата файла. Прошу не обижаться, если и предыдущее сообщение высветится.

Похожая проблема с преобразованием отчетов 1С в удобоваримый вид для создания сводной таблицы. Более-менее смог победить отчет по продажам по периодам, но остался один "затык" показатели "Количество" и "Сумма продажи" находятся в одном столбце и, соответственно, во втором столбце  - их значения.
Не знаю как сделать разделение на отдельные столбцы "Количество", "Значения кол-ва", "Сумма продажи", "Значения сумм". В ручную доделывать могу, но лучше, чтобы на автомате через PQ.

Коновалов Олег

Как-то я немного тупанул в предыдущем сообщении. Нужно то сделать две колонки  с названиями "Количество" и "Сумма продажи", а уж в них должны быть данные по количеству и суммам

Дмитрий Щербаков(The_Prist)

Олег, можно изменить запрос так:
let
   Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
   #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Столбец1", type any}, {"Столбец2", type any}, {"Столбец3", type text}, {"Столбец4", type text}, {"Столбец5", type any}, {"Столбец6", type any}, {"Столбец7", type any}, {"Столбец8", type any}, {"Столбец9", type any}, {"Столбец10", type any}}),
   #"Транспонированная таблица" = Table.Transpose(#"Измененный тип"),
   #"Заполнение вниз" = Table.FillDown(#"Транспонированная таблица",{"Column1"}),
   #"Объединенные столбцы" = Table.CombineColumns(#"Заполнение вниз",{"Column1", "Column2"},Combiner.CombineTextByDelimiter(";", QuoteStyle.None),"Сведено"),
   #"Транспонированная таблица1" = Table.Transpose(#"Объединенные столбцы"),
   #"Повышенные заголовки" = Table.PromoteHeaders(#"Транспонированная таблица1", [PromoteAllScalars=true]),
   #"Измененный тип1" = Table.TransformColumnTypes(#"Повышенные заголовки",{{";Код товара", Int64.Type}, {";Артикул", Int64.Type}, {";Номенклатура", type text}, {";Базовая единица измерения", type text}, {"Июль 2017 г.;Количество", Int64.Type}, {"Июль 2017 г.;Сумма продажи в руб.", type number}, {"Август 2017 г.;Количество", Int64.Type}, {"Август 2017 г.;Сумма продажи в руб.", type number}, {"Сентябрь 2017 г.;Количество", Int64.Type}, {"Сентябрь 2017 г.;Сумма продажи в руб.", type number}}),
   #"Другие столбцы с отмененным свертыванием" = Table.UnpivotOtherColumns(#"Измененный тип1", {";Код товара", ";Артикул", ";Номенклатура", ";Базовая единица измерения"}, "Атрибут", "Значение"),
   #"Разделить столбец по разделителю" = Table.SplitColumn(#"Другие столбцы с отмененным свертыванием", "Атрибут", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), {"Атрибут.1", "Атрибут.2"}),
   #"Измененный тип2" = Table.TransformColumnTypes(#"Разделить столбец по разделителю",{{"Атрибут.1", type date}, {"Атрибут.2", type text}}),
   #"Вставлено: год" = Table.AddColumn(#"Измененный тип2", "Год", each Date.Year([Атрибут.1]), Int64.Type),
   #"Вставленное название месяца" = Table.AddColumn(#"Вставлено: год", "Название месяца", each Date.MonthName([Атрибут.1]), type text),
   #"Добавлен индекс" = Table.AddIndexColumn(#"Вставленное название месяца", "Индекс", 1,1),
   #"Добавлен пользовательский объект" = Table.AddColumn(#"Добавлен индекс", "Количество", each if [Атрибут.2]="Количество" then [Значение] else ""),
   #"Добавлен пользовательский объект1" = Table.AddColumn(#"Добавлен пользовательский объект", "Сумма", each if [Атрибут.2]="Количество" then #"Добавлен пользовательский объект"[Значение]{[Индекс]} else ""),
   #"Удаленные столбцы" = Table.RemoveColumns(#"Добавлен пользовательский объект1",{"Индекс"}),
   #"Строки с примененным фильтром" = Table.SelectRows(#"Удаленные столбцы", each [Сумма] <> null and [Сумма] <> "")
in
   #"Строки с примененным фильтром"
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Коновалов Олег

Дмитрий, благодарю!
Буду изучать!

Яндекс.Метрика Рейтинг@Mail.ru