Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
20.04.2024, 17:57:36

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

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

Сообщений: 4


Просмотр профиля
« : 25.01.2021, 17:24:55 »

Добрый день!
Столкнулся с такой проблемой.
Есть файл с настроенной моделью Power Query и макросом, преобразовывающим данные на листе "Исходные данные" в умную таблицу.
Для загрузки данных на лист "Исходные данные" используется ClosedXML https://github.com/ClosedXML/ClosedXML
После загрузки исходных данных таблица перестает обновляться, при этом в самом Power Query данные подгружаются.
Подскажите, в чем может быть причина?
« Последнее редактирование: 25.01.2021, 18:19:59 от GREG77 » Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

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

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



Просмотр профиля WWW
« Ответ #1 : 25.01.2021, 18:13:11 »

А какой файл-то смотреть? Вот я открыл "Исходный файл". Макрос там не очень удачный - код может просто не успеть сработать в нужный момент. Лучше его чуть изменить и вызывать по OnTime:
Код: (vb)
Private Sub Workbook_Open()
    Application.OnTime Now, Me.CodeName & ".CreateLO"
End Sub

Sub CreateLO()
    With Me.Sheets("Исходные данные")
        On Error Resume Next
        .ListObjects.Item("Исходные_данные").Delete
        On Error GoTo 0
        .ListObjects.Add(xlSrcRange, .Range("A1:" & Cells.SpecialCells(xlLastCell).Address), , xlYes).Name = _
            "Исходные_данные"
    End With
End Sub

P.S. ClosedXML более недоступна
« Последнее редактирование: 25.01.2021, 18:20:14 от Дмитрий Щербаков(The_Prist) » Записан

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

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

Сообщений: 4


Просмотр профиля
« Ответ #2 : 25.01.2021, 18:18:35 »

В исходном файле таблица обновляется при изменении исходных данных.
А в изменённом - данные в Power Query обновляются, а в таблицу на лист уже не подгружаются.
Поправил ссылку на ClosetXML https://github.com/ClosedXML/ClosedXML
« Последнее редактирование: 25.01.2021, 18:20:28 от GREG77 » Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

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

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



Просмотр профиля WWW
« Ответ #3 : 25.01.2021, 18:22:26 »

Вы напишите подробно - что и где надо изменить, чтобы проселедить цепочку действий и увидеть проблему? У меня в первом файле ничего при открытии не обновляется, т.к. запрос PQ ругается на отсутствие столбца "Атрибут"
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

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

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



Просмотр профиля WWW
« Ответ #4 : 25.01.2021, 18:28:18 »

Может проблема в том, что у Вас только создано подключение? Выгрузки результата запроса на лист нет. Отобразите все подключения(вкладка Данные -Запросы и подключения). Найдите свой -правая кнопка мыши -Загрузить в. Выберите Таблица -Новый лист.
« Последнее редактирование: 25.01.2021, 18:30:49 от Дмитрий Щербаков(The_Prist) » Записан

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

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

Сообщений: 4


Просмотр профиля
« Ответ #5 : 25.01.2021, 19:10:02 »

По задумке это должно работать так:
1. Есть исходный файл, где лист "Исходные данные" пустой.
2. В этот файл, на лист "Исходные данные" при помощи ClosedXML загружаются данные.
3. При открытии срабатывает макрос для преобразования листа "Исходные данные" в умную таблицу.
4. Срабатывает автоматическое обновление запроса PQ в выгрузкой таблицы на лист "Оц осн изобр".

Так вот, если в Исходный файл скопировать данные вручную, то все сработает как нужно (приложил исходный файл, где добавил данные вручную).
А вот после загрузки тех же данных через ClosetXML таблица на листе "Оц осн изобр" перестает обновляться.

Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

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

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



Просмотр профиля WWW
« Ответ #6 : 25.01.2021, 19:20:56 »

таблица на листе "Оц осн изобр" перестает обновляться
я выше написал причину - у Вас там отсутствует выгрузка запроса на лист, там только подключение. Подозреваю, что именно ClosetXML и является причиной этой ошибки. Потому что запросы не могут выгружаться в другие XML схемы.
Записан

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

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

Сообщений: 4


Просмотр профиля
« Ответ #7 : 25.01.2021, 20:02:26 »

Дмитрий, а как-то возможно макросом прописать выгрузку из PQ таблицы на лист?
Я пытался сделать это при помощи макрорекордера, но он не записывает эти комманды.
Либо может есть другой способ загрузки данных на лист Исходные данные, кроме ClosetXML?
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

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

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



Просмотр профиля WWW
« Ответ #8 : 26.01.2021, 08:44:54 »

может есть другой способ загрузки данных на лист Исходные данные
Может и есть, если хотя бы знать что и откуда Вы загружаете...
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
Страниц: [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