По опыту, чуть быстрее вал данных в несколько тысяч строк загружается запросом в книгу, если снять флаг "добавлять в модель данных", в случае, если в этом нет необходимости для дальнейших построений OLAP...
Как проверить наличие трех значений в столбце Excel, Как проверить наличие трех значений в столбце Excel
Пользователь
Сообщений: Регистрация: 24.01.2024
26.06.2025 22:09:55
...
Изменено: - 26.06.2025 22:14:25
Параметризация пути к листам с данными в Power Query
Пользователь
Сообщений: Регистрация: 24.01.2024
24.06.2025 19:05:26
Всем еще раз доброго времени суток.
Сам задал вопрос, сам ответ нашел. Решение найдено: заключается в фильтрации листа в файле-выгрузке по названию заголовка первой графы, он ведь не меняется =)
Для этого надо сделать 3 настраиваемых столбца: в первом применить формулу Table.PromoteHeaders([Data]), чтобы повысить заголовки, во втором Table.ColumnNames([Data]), чтобы вытащить список заголовков, в третьем List.Contains([List], "Column Name") и указать в кавычках то название столбца, что ищем. Где содержится нужное название столбца, там будет True. Затем ставим фильтр Table.SelectRows на True и выводим таблицу. = #"Строки с примененным фильтром"[Пользовательская]{0}
Или применить =Table.FirstValue([Data])="Имя искомого столбца" (но эту формулу сам уже потом нашел, как сделал).
Далее можно настраивать соответствующие типы данных, применять свои фильтры и объединения запросов, что там нужно нового вывести из общего вала тысяч строк.
Таблица в рабочей эксель-книге по обновлению запросов обновляется, какое-бы наименование нужного листа с данными в ней ни было, хоть и пишет в редакторе в самом начале в шаге "Источник" на графе table ошибку "Expression.Error: Ключу не соответствует ни одна строка в таблице.", но обновление предварительного просмотра обновляет Name в шаге "Источник".
Параметризация пути к листам с данными в Power Query
Пользователь
Сообщений: Регистрация: 24.01.2024
24.06.2025 18:09:05
Доброго дня.
Нашел очень хороший способ сослаться в запросе на файл, описанный тут:
Только вот если в самом файле, на который настроен таким способом запрос PQ, переименовать лист, с которого этим запросом информация тянется в файл-обработчик, то всё ломается, запрос не срабатывает, выскакивает "Expression.Error: Ключу не соответствует ни одна строка в таблице".
У меня есть файл-источник, на который делаю запрос. Он выгружается из БД, в которой каждый день добавляются свежие данные. При этом вместо стандартного имени листа "Лист1" БД записывает в поле имени листа своё наименование, которое каждый раз рандомное
Просто так его не сохранить файл с тем-же именем, заменив старый, постоянно приходится еще переименовывать и лист тем названием, которое прописывается также жестко, как и путь файла, в запросе PQ.
При использовании CSV-файла такого не возникает, имя листа каждый раз одно и то же, но при загрузке данных через запрос в рабочую книгу сыпет error, т.к. в одном столбце есть мешанный тип данных (там и числа, и текст). Какой-бы тип данных ни применялся в преобразовании (any, text, number, Int64.Type), если поставить тип данных текст, то все числовые значения запрос выгружает как 5,00+12 вместо, например, 5003270000000, что не подходит.
Вопрос следующий: какой надо сделать код в редакторе запроса, чтобы еще и жестко к листу, с которого тянутся данные, запрос не привязывался и выгружал всегда, какое-бы имя листа в xls-файле ни было написано?
Или, если есть какой способ выгружать смешанные данные так, как есть, буду очень признателен за ссылку.
P.S. Макрос не подходит, он валит всё с листа файла выгрузки в рабочую книгу на новый лист вместо того, что только отсутствует в ней.
Добавление обновленных данных в конец умной таблицы Excel
Пользователь
Сообщений: Регистрация: 24.01.2024
24.01.2024 00:28:42
Всем доброго дня.
Прошу вас подсказать в следующей задаче:
Есть xls-файл с данными, который выгружается из БД в папку с заменой предыдущего т.к. в БД добавляются новые данные, проводятся документы "задним числом" и старый файл неактуален, соответственно новые данные в нем каждый раз добавляются через сохранение с заменой старого.
На этот xls-файл в другой эксель-книге, с которой работаю, настроен запрос через Power query на добавление данных в умную таблицу. Эта таблица обновляется целиком при нажатии кнопки "Обновить". Хотя в свойствах внешних данных флаг стоит напротив "Добавить новые строки, удалить неиспользуемые ячейки".
Проблема в том, что в той-же таблице с обновляемыми данными в соседних колонках заносятся пользователем вручную пометки и комментарии к ним в каждой строке, которые не перемещаются вслед за теми строками данных, где они были записаны ранее, и получается, съезжают при обновлении данных и, соответственно, изменении числа строк из-за добавленных данных где-то посередине массива строк данных.
Собственно вопрос в следующем: как сделать так, чтобы из xls-файла через PQ тянулись только новые данные, которые отсутствуют в таблице второго рабочего эксель-файла, при этом чтобы они добавлялись в конец умной таблицы, а не в начало, середину и т.д. по месту, как в источнике, целиком заменяя уже существующие записи, загруженные в прошлый раз.