Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
18.04.2024, 22:22:07

Войти
Интересные и полезные статьи по работе с Excel и VBA можно найти в разделе ХИТРОСТИ
33 242 Сообщений в 5 457 Тем от 6 758 Пользователей
Последний пользователь: Сергей2662
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  PowerQuery, PowerPivot, PowerBI и запросы
| | |-+  Преобразование выгрузки из 1С
Страниц: [1]   Вниз
Печать
Автор Тема: Преобразование выгрузки из 1С  (Прочитано 8808 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Nataliya
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 12


Просмотр профиля
« : 24.03.2019, 17:57:10 »

Уважаемые знатоки!
Очередная проблема с выгрузкой из 1С.
Может кто-то поможет.
Есть данные выгрузки и нужный результат.
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 831



Просмотр профиля WWW
« Ответ #1 : 24.03.2019, 19:03:52 »

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

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Nataliya
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 12


Просмотр профиля
« Ответ #2 : 04.06.2019, 10:57:58 »

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

Репутация: +27/-0
Офлайн Офлайн

Сообщений: 207


Просмотр профиля E-mail
« Ответ #3 : 04.06.2019, 14:17:39 »

Приложите пример запроса. Для будущих поколений  Улыбка
Записан
Коновалов Олег
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 3


Просмотр профиля
« Ответ #4 : 19.06.2019, 12:25:00 »

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

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

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 3


Просмотр профиля
« Ответ #5 : 19.06.2019, 13:29:15 »

Как-то я немного тупанул в предыдущем сообщении. Нужно то сделать две колонки  с названиями "Количество" и "Сумма продажи", а уж в них должны быть данные по количеству и суммам
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 831



Просмотр профиля WWW
« Ответ #6 : 19.06.2019, 13:30:05 »

Олег, можно изменить запрос так:
Код: (csharp)
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
    #"Строки с примененным фильтром"
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Коновалов Олег
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 3


Просмотр профиля
« Ответ #7 : 19.06.2019, 13:58:01 »

Дмитрий, благодарю!
Буду изучать!
Записан
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru