Hasłami na topie są teraz sztuczna inteligencja (AI) oraz chmura (Cloud). Aby stać się częścią cyfrowej rewolucji, firmy korzystają z rozwiązań SaaS (Software as a Service) i szerokim strumieniem migrują „do chmury”. Czy to w środowisku korporacyjnym, czy też na własne potrzeby, warto nauczyć się pobierać dane poprzez Power Query również z takich źródeł. W artykule połączę się z danymi na OneDrive, SharePoint, pobiorę wyniki ankiety stworzonej w Forms oraz zerknę na Google Drive.
Pobranie pliku OneDrive oraz SharePoint
W zależności od tego, czy plik znajduje się na posiadanym przeze mnie folderze OneDrive czy też na udostępnionym przez kogoś zasobie, mogę się do niego dostać w różny sposób.
Jeżeli plik znajduje się w folderze OneDrive zsynchronizowanym na naszym komputerze, wówczas wystarczy jedynie wybrać go z dostępnych zasobów. W przypadku pliku Excel będzie to karta Dane > Pobierz dane > Excel > OneDrive. To rozwiązanie ma jednak taką wadę, że nikt inny oprócz mnie nie odświeży zapytania.
Dlatego lepszym pomysłem wydaje się pobranie internetowego linku do pliku, który znaleźć możemy w stacjonarnej wersji programu Excel.
Identycznie jest z plikiem udostępnionym. Wówczas także należy uzyskać do niego link. Zwykle, gdy ktoś udostępni nam plik, na skrzynkę pocztową otrzymujemy informację o tym fakcie. Oczywiście plik należy otworzyć w stacjonarnej wersji programu Excel.
By pobrać link z otwartego pliku, nie wybieramy jednak opcji Kopiuj link, gdyż w ten sposób pozyskany link nie nadaje się do wykorzystania, by pobrać dane do Power Query. Podobny problem jest z linkiem skopiowanym z paska przeglądarki.
Właściwą drogą jest otwarcie pliku z dysku One Drive w stacjonarnym programie Excel oraz przejście do sekcji Plik > Informacje > nad ochroną skoroszytu wybrać Kopiuj link do schowka/Kopiuj ścieżkę do schowka.
Następnie w Power Query wchodzę poprzez Dane > Pobieranie i przekształcanie danych > z sieci Web. Wklejam link do okna > usuwam na końcu ciąg linku ?web=1 > A następnie OK.
Pobranie pliku Excel ze stron SharePoint wygląda bardzo podobnie, jak w przypadku OneDrive. Należy również otworzyć plik Excel w aplikacji, skopiować do niego link i użyć go w połączeniu poprzez Web w Power Query, jednocześnie usuwając zbędną końcówkę z linku.
Łączenie się z folderem OneDrive oraz SharePoint
Możemy również połączyć się z folderem, w którym znajdują się pliki (Excel, CSV, TXT, JSON, XML itp.). Znowu, podobnie działa to na OneDrive i SharePoint. Interfejs zachęca nas, by podać w ścieżce adres URL bez podfolderów:
Po połączeniu się z folderem widoczne będą wszystkie dostępne w nim pliki, co dla wielu użytkowników okaże się niewystarczające, gdyż tylko poprzez edycję zapytania Power Query (np. filtry na kolumnie Folder Path) możliwe będzie wybranie pliku/plików, które Cię interesują oraz dostanie się do ich wnętrza.
Dlatego większym wyzwaniem jest podłączenie się do konkretnego folderu na dysku OneDrive lub katalogu SharePoint. Wówczas pomocna będzie rada, aby podłączyć się z głównym folderem i lekko zmodyfikować zapytanie – polecenie Sharepoint.Files zamień na SharePoint.Contents. Zamiast listy plików otrzymasz wówczas informację o folderze jako obiekcie typu tabela. A do niego możesz wejść do środka, klikając zielone hiperłącze Table (na przykładzie wszedłem do folderu dane przechowywanego w folderze głównym nazywanym przez OneDrive Documents).
Połączenie z Google Sheets
By połączyć się z plikiem Google Sheets, również będzie Ci potrzebny do niego link. W tym przypadku link służący do udostępniania go innym osobom. Po otwarciu pliku w prawym górnym rogu znajduje się przycisk Udostępnij. Wybierz go, następnie wybierz przycisk Skopiuj link, który wykorzystasz do połączenia w Power Query.
Tak jak w poprzednich przypadkach, wybierz Dane > Pobieranie i przekształcanie danych > Z sieci Web i wklej wcześniej skopiowany link do okna nawigatora > OK.
W następnym oknie będzie dostępny już widok całego dokumentu, ale również istniejącej w nim tabeli którą możesz pobrać.
Łączenie się z Office Forms
Dane dotyczące utworzonego formularza mogą być przechowywane w różny sposób w zależności od tego, w jaki sposób został utworzony formularz Forms.
Jeżeli formularz został utworzony poprzez stronę forms.office.com, wówczas poprzez kartę Odpowiedzi w utworzonym formularzu oraz przycisk Otwórz w programie Excel mogę pobrać na dysk komputera plik z odpowiedziami. Za każdym pobraniem będzie to nowy plik, z kolejnymi pojawiającymi się odpowiedziami.
Jeżeli formularz został utworzony przy pomocy OneDrive, tzn. przechodząc na stronę usługi została wybrana opcja Forms dla programu Excel, wówczas przycisk Otwórz w programie Excel na karcie odpowiedzi utworzonego formularza przeniesie nas do Excela zapisanego na OneDrive. Z nim będzie można połączyć się analogicznie, jak ze zwykłym plikiem Excel na OneDrive.
Jeżeli formularz został utworzony z poziomu Excela online poprzez Wstaw > Formularze, wówczas również Excel z odpowiedziami zostanie zapisany w usłudze OneDrive i wracamy do sposobu z początku wpisu.
Napotkałeś jakieś problemy z pobieraniem danych z OneDrive, SharePoint lub Forms?
Podziel się w komentarzu.
Mam pewnie banalne pytanie.
Jak chodzi o pobranie danych z pliku zamieszczone na onedrive – działa wszystko super.
Jednak jak chodzi o połączenie się z folderem usługi OneDrive oraz SharePoint mam problem z wysyłaniem okna w którym wskazuje FOLDER PROGRAMU SHAREPOINT ?
Proszę spróbować utworzyć nowe puste zapytanie, a następnie posłużyć się kodem:
=SharePoint.Contents(„link w cudzysłowie”, [ApiVersion = 15])
Może zadziała też w poprzedniej wersji Excela.
Dzień dobry,
Mam pytanie podobne do Sławka odnośnie SharePointa. U mnie działa bez „[ApiVersion = 15])” ale tylko do tego miejsca:
=SharePoint.Contents(„https://………./Documents/”)
Problem w tym, że mój katalog znajduje się b. głęboko i dalej nazwy oddzielone są znakiem % jak poniżej
=SharePoint.Contents(„https://…………../Documents/EMEA%20Records/Operations/Export%20Ops/……..”)
wtedy Excel zwraca błąd: „DataSource.Error: SharePoint: Request failed: The remote server returned an error: (400) Bad Request. (Bad Request):
Czy można to jakoś obejść? Pozdrawiam
Nie bardzo wiem, jak to sprawdzić, ale w Internecie znalazłem, że niektórym pomogło wstawienie [ApiVersion = 14]. Proszę spróbować.
O ile w firmowym Excelu nie miałem większych problemów z pobieraniem danych z OneDrive, o tyle w domowej wersji O365 nie udało mi się w żaden sposób tego zrobić? Jest na to skuteczna rada?
Hej Janusz, w który krok się nie powiódł? Kluczowe jest zawsze pobranie linku do pliku / folderu i podpięcie w taki sposób do Power Query.
Hej Bartek, link do pliku jest w formacie https://d.docs.live.net/xxxxxxxxxxxxxxxx/XXX_baza.xlsx
Po jego wprowadzeniu pojawia się komunikat:
„Nie można nawiązać połączenia. Napotkaliśmy błąd podczas próby nawiązania połączenia.
Pobrane dane mają format HTML, który nie jest oczekiwanym typem. Być może adres URL jest nieprawidłowy lub nie podano właściwych poświadczeń dostępu do serwera”
Próbowałem różnych metod uwierzytelniania, ustawiałem poziom prywatności na Publiczny, ale nic to nie dało.
Rzeczywiście, wygląda na to, że OneDrive prywatny, gdzie link zaczyna się od https://d.docs.live.net/ nie działa i nie bardzo widzę opcję inną niż przejście na usługę OneDrive z pakietu Office 365.
Witam serdecznie!
Szukam ostatnio dość intensywnie analogicznego sposobu na umieszczenie bazy Access w OneDrive tak żeby wszyscy upoważnieni z firmy mieli do niej dostęp.
Masz wiedzę na ten temat?
To jest możliwe?
Ogólnie plik bazy danych Access jest plikiem, ale nie współpracuje z OneDrive i nie jest to polecana technologia. Rekomenduję zbudować listę SharePoint lub coś analogicznego.
A czy można zbudować taka listę Sharepoint żeby elementy pokazywane na liście były inne w zależności od użytkownika tj. np. Kamil zamieścił jakieś dane i tylko te dane które on zamieścił powinny być dla niego widoczne.
Hej Piotr, pobierając dane z listy SharePoint, narzędzie Power Query korzysta z uprawnień SP. Jeśli tak skonfigurujesz listę i dostęp do jej rekordów, każdy pobierze tylko swoje dane.
Hej, nie mam u siebie opcji forms dla programu Excel..
Dążę do tego aby odpowiedzi z utworzonego formularza trafiały od razu do arkusza kalkulacyjnego (bez konieczności pobierania arkusza za każdym razem)
Jakieś wskazówki?
Hej Sebastian, jeśli nie ma na OneDrive opcji Forms for Excel, to zostaje zabawa z Power Automate Online – przy utworzeniu odpowiedzi dodaj wpis do Excela.
Hej, mam Excela 365 (firmowy) ale po rozwinięciu 'Pobierz dane’ nie wiedzę 'Z usługi online’.
Po rozwinięciu 'Z innych źródeł’ nie widzę też ’ Z listy programu SharePoint’ i kilku innych. Jak może być przyczyna?
Cześć Edyta, najwidoczniej masz pakiet Microsoft 365 w wersji innej niż dla przedsiębiorstw (ang. Enterprise), np. Standard, w której nie ma tego źródła w interfejsie. Jeśli dobrze pamiętam, można się do podłączyć do folderu SharePointa, ale wpisując polecenie =SharePoint.Files(„adres”) w pasku formuły pustego zapytania w samym Power Query.