|
|||||||
Импорт данных из OneDrive и SharePoint в Power Query / BI
Время создания: 18.07.2020 21:35
Текстовые метки: Power Query
Раздел: Разные закладки - MSO - Excel - Power Query
Запись: xintrea/mytetra_db_adgaver_new/master/base/1595097339cs8w6dws2l/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Если вы или ваша компания храните данные в облаке OneDrive или на корпоративном портале SharePoint, то напрямую подключиться к ним с помощью Power Query в Excel или из Power BI может оказаться непростой, как это ни странно, задачей. Когда я в своё время столкнулся с подобным вопросом, то с удивлением обнаружил, что не существует "законных" способов для её решения. В списке доступных источников данных в Excel и даже в Power BI (где набор коннекторов традиционно шире) почему-то отсутствует возможность подключения к файлам и папкам OneDrive. Так что все предлагаемые ниже варианты - в той или иной степени "костыли", требующие небольшой, но ручной "доводки напильником". Но у этих костылей есть большой плюс - они работают :) А в чём проблема? Короткая вводная для тех, кто последние 20 лет провел в коме не в теме. OneDrive - это облачное хранилище данных от Microsoft, доступное в нескольких вариантах:
Частным случаем OneDrive for Business является хранение данных на корпоративном портале SharePoint - в таком сценарии OneDrive выступает, по сути, одной из библиотек SharePoint'а. Доступ к файлам возможен либо через веб-интерфейс (сайт https://onedrive.live.com либо корпоративный сайт SharePoint) либо путем синхронизации выбранных папок с вашим ПК:
Обычно эти папки хранятся в профиле пользователя на диске С - путь к ним выглядит примерно как C:\Users\ИмяПользователя\OneDrive). За актуальностью файлов и синхронизацией всех изменений следит специальная программа - Агент OneDrive (синее или серое облачко в правом нижнем углу экрана):
А теперь главное. Если нам нужно загрузить данные из OneDrive в Excel (через Power Query) или в Power BI, то мы, конечно, можем указать в качестве источника локальные синхронизируемые файлы и папки обычным образом через Получить данные - Из файла - Из книги / Из папки (Get Data - From file - From workbook / Folder), но это не будет прямой ссылкой на облако OneDrive. То есть в будущем, при изменении, например, файлов в облаке другими пользователями, нам потребуется сначала выполнить синхронизацию (это бывает долго и не всегда удобно) и только потом обновлять наш запрос Power Query или модель в Power BI. Естественно, возникает вопрос: как импортировать данные из OneDrive / SharePoint напрямую, чтобы загрузка данных происходила непосредственно из облака? Вариант 1. Подключение к книге из OneDrive for Business или SharePoint
Вводим наш рабочий логин-пароль или выбираем корпоративную учетную запись из появившегося списка. Если все сделаете правильно, то надпись Вход должна поменяться на Войти от имени другого пользователя (Log in with other user account). Дальше всё как при обычном импорте книги - выбираем нужные листы, умные таблицы для импорта и т.д. Вариант 2. Подключение к файлу из OneDrive Personal Для подключения к книге в личном (некорпоративном) облаке OneDrive подход будет уже другим:
В итоге из исходного кода должно получиться такое:
Вариант 3. Импорт содержимого целой папки из OneDrive for Business Если нужно залить в Power Query или Power BI содержимое не одного файла, а сразу целой папки (например, с отчетами), то подход будет чуть попроще:
Затем вставляем скопированный фрагмент пути в поле адреса и жмем ОК: Если появляется окно авторизации, то выбираем тип Учетная запись Microsoft (Microsoft Account), жмём на кнопку Вход (Log in), а потом, после успешного входа, на кнопку Подключение (Connect): Примечание: при наличии большого количества файлов на портале SharePoint этот способ будет существенно медленее двух предыдущих. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|