Страницы: 1
RSS
Работа с Power Query и умной таблицей, Колонтитулы или что-то похожее на них, ширина столбца
 
Здравствуйте!

Имею таблицу исходных данных, умную. Загрузил её в PowerQuery для следующей задачи: необходимо распечатать каждый вбитый в первую таблицу акт в конкретном месяце. Сделал все что мне нужно в PowerQuery - выгрузил в другую умную таблицу, которая автоматически обновляется в зависимости от того, что указано в первой. То есть, сейчас апрель, актов за май-декабрь еще нет, но если я буду вводить информацию, то мне достаточно будет нажать кнопку обновить - и вуаля, все совпадет.

Проблема следующая: при печати, в самом конце, мне необходимо поставить стандартную форму, например: Документы сдал, Документы принял и Подпись. Но, как оказалось, если добавлять данные, до таблица автоматически "съедает" строки, даже если в них есть данные. Подскажите, пожалуйста, есть ли способ автоматически сдвигать последние три ячейки с этой информацией, когда PowerQuery обновляет запрос и добавляет строки в сформированную таблицу?

И еще, менее важный вопрос: каждый раз, когда обновляю умную таблицу, ширина столбцов как бы задается автоматически (не знаю, как по-русски сказать, как будто на поля нажали двойным щелчком и ширина столбца автоматически подправилась), а мне это не нужно, можно ли убрать эту функцию при обновлении в конкретном столбце?

Спасибо заранее.
 
Доброго дня!
1) А что мешает сделать нижний колонтитул?
2) Работа с таблицами - Конструктор - Свойства (Группа "Данные из внешней таблицы") - Формат и разметка данных - убрать галку с "задать ширину столбца"

И ещё не менее важный аспект:
2.6. Один вопрос - одна тема. Не следует в открываемой теме обозначать и задавать сразу несколько вопросов. (см. правила форума)
 
Цитата
alexleoix написал:
1) А что мешает сделать нижний колонтитул?
Страниц документа может быть больше одной. Возможно ли сделать нижний колонтитул исключительно на последней печатной странице?

Цитата
alexleoix написал:
2) Работа с таблицами - Конструктор - Свойства (Группа "Данные из внешней таблицы") - Формат и разметка данных - убрать галку с "задать ширину столбца"
Спасибо, помогло.

Цитата
alexleoix написал:
И ещё не менее важный аспект:2.6. Один вопрос - одна тема. Не следует в открываемой теме обозначать и задавать сразу несколько вопросов. (см. правила форума)
Правила читал.
Я учту, но мне показалось нелепым создавать сразу две темы по одному общему признаку - умная таблица на выходе PowerQuery.
Изменено: Framed - 24.04.2018 13:41:04
 
Проблему решил таким способом:

"Конструктор - Свойства - Добавить новые строки, очистить пустые ячейки."

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

Кроме того, если брать конкретно мой пример, то мне, само собой, необходимо, чтобы расстояние между данными и стандартной формой "Документы сдал/принял" было в две строки на печатном листе. Если заполнить эти строки пробелом, или же ', то расстояние сохранится при обновлении запроса.

Единственный минус - если удалить часть исходных данных, то при обновлении таблицы они так же удалятся из умной, но смещения назад уже не будет; кроме того, формат ячеек будет совпадать с форматом умной таблицы. Как решить это проблему красиво я не знаю, просто удаляю пустые строки, но может быть есть более изящное решение.
Изменено: Framed - 24.04.2018 13:59:05
 
попробуйте вставить надпись, она будет смещаться  
 
Нельзя сделать отдельный запрос на подпись и добавить его к данным?
 
Цитата
Vik_tor написал:
попробуйте вставить надпись, она будет смещаться  
Тоже хороший способ, но при удалении та же беда.
Цитата
Dark1589 написал:
Нельзя сделать отдельный запрос на подпись и добавить его к данным?
Не подумал об этом. Сейчас попробую. Честно говоря, с Power Query не особо дружу, пока еще не понял, как с ним работать в широком смысле слова.
 
Цитата
Dark1589 написал:
отдельный запрос на подпись и добавить его к данным

Тогда лучше не к данным, а задать динамический адрес для выгрузки.
 
alexleoix, я исхожу из свои знаний PQ) Сам бы в такой ситуации просто сделал умную таблицу с 2 пустыми строками и необходимыми данными. Если учесть требования, то это вероятно самый простой и быстрый способ
 
Цитата
alexleoix написал:
Тогда лучше не к данным, а задать динамический адрес для выгрузки.
Не расскажете поподробнее, пожалуйста?
 
Цитата
Dark1589 написал:
alexleoix , я исхожу из свои знаний PQ) Сам бы в такой ситуации просто сделал умную таблицу с 2 пустыми строками и необходимыми данными. Если учесть требования, то это вероятно самый простой и быстрый способ
По сути, я так и сделал, согласен полностью - если говорить откровенно, то на данный момент полученный результат полностью удовлетворяет потребность.
Но, все-таки, идеально будет, если подпись будет отодвигаться не только вниз при добавлении информации, но и обратно наверх при её удалении. Это самый идеальный вариант, но, повторюсь, все советы выше уже помогли очень сильно, за что всем большое спасибо.
 
Цитата
Dark1589 написал:
Нельзя сделать отдельный запрос на подпись и добавить его к данным?
Не получается, если честно. Добавляет запрос как столбцы, вправо. А нужно вниз.
 
Framed, так а почему она не будет отодвигаться вверх? Запрос с подписью будет всегда в конце. Удаляем лишнее - пополз вверх, добавляем - пополз вниз
 
Dark1589, подождите, вы предлагаете объединить запросы, или же создать два разных?
 
Вот так
 
Цитата
Framed:  если я буду вводить информацию, то мне достаточно будет нажать кнопку обновить - и вуаля
Может сделать кнопку "Обновить" и повесить на неё макрос, который:
1) Обновит умную таблицу
2) Удалит на этом листе всё кроме умной таблицы
3) Узнает адрес умной таблицы, и начиная с 3-й строки после окончания умной таблицы запишет: "Документы сдал, Документы принял и Подпись"
 
Dark1589, блин, точно. Дошло. Спасибо большое, то, что нужно.
 
Можно к первому запросу с данными добавить второй запрос с подписями.
 
К листу 1 делаем запрос через MS Query (не путать с Power Query).
в качестве адреса выгрузки указываем =ДВССЫЛ("Лист3!$A$"&СЧЁТЗ(A:A)+2)
"+2" - это на сколько строк сдвигать "Подпись" относительно конца данных.

к сожалению, ввести динамический адрес для выгрузки запроса Power Query у меня не получилось  :(

пробуйте...
Изменено: alexleoix - 24.04.2018 17:12:56 (Неправильно указал номер листа в тексте)
 
Цитата
alexleoix написал:
К листу 2 делаем запрос через MS Query (не путать с Power Query).в качестве адреса выгрузки указываем =ДВССЫЛ("Лист3!$A$"&СЧЁТЗ(A:A)+2)"+2" - это на сколько строк сдвигать "Подпись" относительно конца данных.
Простите за невежество, но как это сделать? (Никогда не работал с MQuery)

Делаю так: Данные - Получить данные - Из других источников - Из Microsoft Query;

Открывается окно, предлагает выбрать источник данных и путь к файлу. Указываю путь к файлу, в котором прямо сейчас работаю и нахожусь. На выборе столбцов возникает проблема - он не видит имеющиеся таблицы в листах.

Спасибо.
 
Цитата
Framed написал:
проблема - он не видит имеющиеся таблицы в листах
указывайте лист полностью.
 
Цитата
alexleoix написал:
указывайте лист полностью.

Прикрепленные файлы
загрузка запроса.jpg  (41.38 КБ)
Нет, не выходит.

Точнее, выгрузить получается, но выгружается не туда. Смещает основную таблицу вбок и падает на ячейку A6, хотя по формуле, которую вы указали, таблица с подписью должна падать под основную.
 
Цитата
Framed написал:
Смещает основную таблицу вбок и падает на ячейку A6

А можно на файлик взглянуть?
 
Цитата
alexleoix написал:
А можно на файлик взглянуть?
Блин, он тяжелый :( Сейчас найду какой-нибудь файлообменник, момент.
 
Цитата
Framed написал:
Смещает основную таблицу вбок и падает на ячейку A6, хотя по формуле, которую вы указали, таблица с подписью должна падать под основную.
так он делает при первой загрузке, потому что режим обновления такой по умолчанию - вставка новых ячеек. Сделайте сначала таблицу справа от основной, потом перетащите куда надо. А потом в свойствах таблицы настройте ее поведение при обновлении

PS Хотя это MS Query, там не помню, такая схема или нет
Изменено: Максим Зеленский - 26.04.2018 16:54:58
F1 творит чудеса
 
Цитата
Максим Зеленский написал:
так он делает при первой загрузке, потому что режим обновления такой по умолчанию - вставка новых ячеек. Сделайте сначала таблицу справа от основной, потом перетащите куда надо. А потом в свойствах таблицы настройте ее поведение при обновлении
Ну, я попробовал примерно так же сделать.

Т.е. таблица упала на A6. Окей, я её полностью вырезал и переместил куда надо. Навел красоту на форму (ибо сбилось же все, в т.ч. область печати). Добавил данных в основную - подпись, как и ранее, отодвинулась вниз. Удалил данные - подпись вверх не сместилась.

P.S. Пытался найти, как указать путь для вывода таблицы повторно, но не нашёл.
P.P.S. Думал, что неверно ввожу формулу ДВССЫЛ. Проверил её отдельно по компонентам, казалось, что она просто выводит неверный номер. Оказалось, что в формуле проблем нет - я так понимаю, проблема в выводе запроса M Query в таблицу, но какая именно - пока для меня загадка.
Изменено: Framed - 26.04.2018 17:06:21
 
Framed,
Да вроде не должно быть проблем.
Посмотрите файл в письме. Там всё нормально выгрузилось с первого раза.
 
Framed,
У меня мысль возникла: Скажите, а апострофы в "пустых" ячейках шапки вы поставили ДО или ПОСЛЕ выгрузки запроса MS Query?
 
Цитата
alexleoix написал:
У меня мысль возникла: Скажите, а апострофы в "пустых" ячейках шапки вы поставили ДО или ПОСЛЕ выгрузки запроса MS Query?
Те апострофы, что сверху - в первый раз поставил после. Там была одна или две ячейки пустые.
Потом пересоздавал запрос несколько раз, но история повторялась, таблица упорно выгружается на A6.
Страницы: 1
Наверх