Обновление одной таблицы в PowerBI можно выполнить следующим образом.
Обновление одной таблицы в PowerBI можно выполнить следующим образом.

На выходных студент задал такой вопрос:

Учитель хотел бы спросить, pbi подключил файлы sql и onedrive, но sql находится в интранете, я думаю, он может только автоматически обновлять файлы onedrive? Я настроил обновление и продолжал получать сообщение об ошибке, сообщающее, что sql не может быть обновлен.

Если вы нажмете «Обновить» обычным способом, что-то обязательно пойдет не так. Обновление вручную приведет к обновлению всех таблиц и источников данных. Если в одном источнике данных отсутствуют учетные данные, произойдет сбой.

И в этом случае запланированное обновление вообще невозможно настроить.

Вариант 1

Первое решение, которое приходит на ум, — отменить «включить в обновление отчета» в powerquery.

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

Вариант 2

В связи с этим пришло на ум другое решение: асинхронное обновление.

Если вы не знакомы с концепцией асинхронного обновления, вы можете посмотреть следующее видео:

Асинхронное обновление, также называемое расширенным обновлением. Вы можете обновить одну таблицу или даже часть одной таблицы, и эффект будет даже более мощным, чем при добавочном обновлении.

но,Для этого пользователю необходимо быть【Администратор powerbi】и будет Конфигурация Связанный контент;В противном случае администратор арендатора должен Конфигурацияи предоставить соответствующие услуги。

Предположим, что существуют таблица A (файл onedrive) и таблица B (база данных внутренней сети). Теоретически, если между таблицей A и таблицей B нет никакой связи, обновление одной таблицы A вообще не требует участия таблицы B, поэтому даже если таблица B не предоставляет учетные данные источника данных, таблица A должна быть обновлена ​​успешно.

Но после тестирования выяснилось, что это все же не удалось:

Сообщение об ошибке следующее:

Ошибка источника данных: {"error":{"code":"DMTS_DatasourceHasNoCredentialError","pbi.error":{"code":"DMTS_DatasourceHasNoCredentialError","details":[{"code":"Path","detail":{"type":1,"value":"d:\\onedrive\\B.xlsx"}},{"code":"ConnectionType","detail":{"type":0,"value":"File"}}],"exceptionCulprit":1}}}

Из содержимого, выделенного жирным шрифтом, мы видим, что причина ошибки заключается в том, что таблица B не имеет учетных данных источника данных. Но мы должны отметить, что мы выполняем обновление одной таблицы для таблицы A. На самом деле проблем с таблицей B и учетными данными источника данных таблицы B вообще нет. Так почему же обновление завершается неудачно?

Причина на самом деле кроется в «учетных данных источника данных», которые нельзя настроить. Хотя с учетными данными файлового источника данных в onedrive проблем нет, в базе данных не установлен шлюз, поэтому он не может настроить. Таким образом, все учетные данные для этого источника данных недействительны.

Первым шагом при любом обновлении данных является определение допустимости учетных данных источника данных, что приведет к сбою.

Однако мы обнаружили, что по-прежнему было два успешных обновления отдельных таблиц.

Однако эти два обновления не обновляют таблицу A, а обновляют таблицу дат C и таблицу D, созданные путем ввода данных вручную.

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

Вариант третий

Обе вышеперечисленные догадки не оправдались.

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

Учетные данные источника данных настроены правильно, поэтому окончательный набор данных не должен поступать непосредственно из базы данных интрасети. Должен быть промежуточный шаг для передачи данных базы данных в определенное место и последующего получения данных.

Итак, вопрос в том, куда мне его передать и получить?

Давайте начнем со «сбора» и посмотрим, как PowerBI получает данные. Интересно, вы сразу видите ответ?

Правильно, это «Семантическая модель PowerBI», которая представляет собой предыдущий набор данных.

Идея такова: сначала получить данные из базы данных интрасети на рабочем столе, опубликовать их в службе, а затем получить опубликованную семантическую модель на рабочем столе. На данный момент вы создали «гибридную модель»:

Затем снова опубликуйте гибридную модель в облаке. После настройки учетных данных источника данных ее можно будет обновить в обычном режиме.

Подвести итог

В этой статье предлагаются три решения особой проблемы. Хотя окончательно решено только третье, первые два решения также очень эффективны в других сценариях.

В частности, асинхронное обновление в сочетании с onedrive для бизнеса и powerautomate позволяет поместить новую таблицу в локальную папку (которая сама содержит множество таблиц) и автоматически запустить обновление этой новой таблицы, достигая приращения, о котором мечтают многие люди.

Третье решение, гибридный режим, может решить большое количество других проблем, таких как: несколько таблиц обновляются отдельно, и отдельные запланированные обновления вообще не затрагиваются; несколько человек организуют несколько наборов данных и составляют отчеты вместе; размер отдельных наборов данных не может превышать лимит в 1 ГБ и т. д.

Конечно, я также хочу сказать, что независимо от того, изучаете ли вы PowerBI или другие навыки, процесс мышления зачастую гораздо важнее результатов. Особенно в эпоху быстрого развития искусственного интеллекта, позволяя ИИ выполнять за вас определенные функции, можно быстро и точно.

Недавно я также обновил свои статьи в базе знаний Yuque. Я думаю, что там также имеется большое количество корпоративных решений по развертыванию PowerBI и приложений PowerBI.

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода