Страницы: 1
RSS
Трансформация данных таблицы в однин столбец
 
Здравствуйте, помогите плз, имеем большой объем данных в десятки тысяч строк и колонок , как объединить в одну колонку?
Смотрел похожие темы но там рассматривают варианты макрасов для небольшого количества строк и столбцов, а как быть мне, может кто то сможет помочь? сталкивался может кто-то с подобным.
 
Цитата
reinmaker90 написал:
варианты макрасов для небольшого количества строк и столбцов
- сомневаюсь что с увеличением этого количества макросы перестанут работать.
Другое дело что у Экселя есть ограничение по максимальному количеству этих самых строк. И столбцов.
 
reinmaker90, пример бы не помешал
из общих советов, то возможно с таким объемом справится PQ
ну или в сторону R/Python смотреть можно
 
пример, количество строк во всех файлах свыше 10 тысяч, количество столбцов 30-40
 
для модератора: "Трансформация данных таблицы в одну колонку"
в PQ с удалением дубликатов
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Несвернутые столбцы" = Table.UnpivotOtherColumns(Источник, {}, "Атрибут", "Значение"),
    #"Удаленные дубликаты" = Table.Distinct(#"Несвернутые столбцы", {"Значение"}),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Удаленные дубликаты",{"Атрибут"})
in
    #"Удаленные столбцы"
 
Цитата
Stics написал:
в PQ с удалением дубликатов
тысячекратно извиняюсь, я профан в этом чудном инструменте, куда код устанавливается данный вами?
 
Можно еще так при помощи PQ.
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    InOneColumn = Table.FromColumns( {List.RemoveNulls( List.Union( Table.ToColumns( Source ) ) )} )
in
    InOneColumn

Кода данного нами установки для нужно запрос создать пустой, и кнопку нажав редактора расширенного, удалить в нем все и код этот вставить, мой юный падаван.
Изменено: PooHkrd - 29.01.2020 17:16:27
Вот горшок пустой, он предмет простой...
 
до подавана далеко, скорее я бревно)
Последовательность моих действий какова или где прочить?
беру исходник, создаю пустой запрос, добавляю код, и ошибка, что не так?
 
Цитата
reinmaker90 написал:
что не так?
Брать надо не исходник, а файл-пример от товарища Stics. Потом внимательно на него посмотреть, и обратить внимание что он ваш диапазон с данными преобразовал в именованную смарт-таблицу. Собственно и его и мой запросы обращаются к этой смарт-таблице по имени Таблица1, но в вашем файле таблицы с таким именем нет.
Что делать? Берете ваш диапазон выделяете, жмете ctrl+T и преобразовываете в смарт-таблицу. Далее выделяем любую ячейку вашей новой таблицы и видим в ленте появится новая вкладка "Конструктор", жмем туда, слева там будет отобржаться имя таблицы, в которой в данный момент выделена хотя бы одна ячейка. Если она называется Таблица1 (обязательно с заглавной буквы), то после этого вставляете код и он, по идее, должен отработать без ошибок. Если название другое, то прямо там меняем его на нужное и вставляем код.
Вот горшок пустой, он предмет простой...
 
Цитата
reinmaker90 написал:
количество строк во всех файлах свыше 10 тысяч, количество столбцов 30-40
- т.е. вместо "всех файлов" нужно говорить "два или три файла", т.к это максимум что можно собрать при таких исходных.
 
Цитата
PooHkrd написал:
Брать надо не исходник
вроде бы все правильно сделал, но получаю такую картину, код использую ваш
грузит уже около часа, файл большой там тысячи адресов, это нормальное время обработки, или я что то опять сделал не верно?
 
Большой это сколько строк, столбцов?
Завтра попробую ваш пример размножить и гляну производительность.
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
Большой это сколько строк, столбцов?
33к строк, 30 столбцов, но основная масса адресов в первом столбе
я в принципе могу исходник дать, нет коммерческой тайны там, я его переделывал, но руками, а т.к подобных файлов не один десяток хотелось бы автоматизировать этот процесс, а не ковырять
 
Цитата
reinmaker90 написал:
я в принципе могу исходник дать
Не помешает. Если нет коммерческой тайны, то дайте ссылку на файлы в каком-нибудь облаке.
на сгенерированных тестовых текстовых данных 33000*30 отрабатывает меньше чем за секунду
win7, office 2013, 64 bit
Изменено: Stics - 29.01.2020 22:15:59
 
Цитата
Stics написал:
Не помешает.
один из, поясните пожалуйста алгоритм, что бы не отнимать
https://drive.google.com/file/d/1QQvFjKQ-rEU68HkUqjaXK-_MnC41ZIaF/view?usp=sharing
 
на ваших данных отрабатывает быстро.
Вы в #4 пример смотрели, разбирали? Там Ваша же сокращенная таблица с итоговым результатом.
и совет в #9
Уточните, что не получается.
По PQ вот книга от владельца ресурса.
В приемах материала достаточно много.
 
Результат на листе "result":
https://dropmefiles.com/VveMM
 
Цитата
Stics написал:
на ваших данных отрабатывает быстро.
На рабочем пк вообще не дает преобразовать в смарт таблицу, дома делал, преобразовал, далее иду в данные и создаю пустой запрос, где в расширенных настройках вставлял оба кода, первый из #5 начал работать но как то странно, вывел только 1.5к позиций, второй просто вещает сис-му.
Я понял алгоритм так, беру исходный файл, преобразовываю в смарт таблицу, в вкладе данные создаю пустой запрос и перехожу в расширенные настройки, где устанавливаю код для действия.
но не один из кодов не сработал, по этому и мучаю людей, может я где то ошибся, не сочтите что я издеваюсь и тд, просто действительно не могу понять что не так в моей последовательности, тем более если у вас все работает.
 
Цитата
reinmaker90 написал:
дома делал, преобразовал
Цитата
reinmaker90 написал:
вывел только 1.5к позиций
возможно не весь диапазон данных преобразовали в смарт-таблицу
остальные действия правильные
А вы пробовали сами "ручками" и "кнопками" в PQ нужный результат получить? Хотя бы на небольшом объеме данных.
 
Цитата
Stics написал:
возможно не весь диапазон данных преобразовали в смарт-таблицу
дома попробую, проверю, покручу PQ, спасибо за советы!
Страницы: 1
Наверх