Blog JSystems - uwalniamy wiedzę!

Szukaj

Power Query w Excelu, Power BI i Fabric

Zapytanie działa u mnie, a u współpracownika zwraca błąd - ścieżki i poświadczenia

W skrócie

  • Gdy Power Query działa u mnie, a u kolegi nie, szukaj różnic poza samym kodem: ścieżek wskazujących Twój dysk, poświadczeń zapisanych na Twoim komputerze, poziomów prywatności i ustawień regionalnych.
  • Kod zapytań wędruje razem z plikiem, ale poświadczenia zostają na Twoim komputerze, a ścieżki do profilu użytkownika albo do litery dysku sieciowego prowadzą u kolegi donikąd i kończą się błędem DataSource.NotFound.
  • Przenieś pliki w miejsce o tym samym adresie dla wszystkich, ścieżkę trzymaj w parametrze, typy ustawiaj z jawnymi ustawieniami regionalnymi, a poświadczenia i poziomy prywatności niech każdy ustawi u siebie.

Power Query działa u mnie, a u kolegi nie: skoroszyt albo raport Power BI odświeża się bez problemu na Twoim komputerze, a u współpracownika kończy się błędem albo daje inne liczby. Pokazujemy, które ustawienia nie wędrują razem z plikiem, jak po treści komunikatu rozpoznać przyczynę i jak przygotować zapytanie, które zadziała u każdego.

Jak to wygląda w praktyce

U Ciebie odświeżenie przechodzi, a u współpracownika ten sam plik zatrzymuje się na jednym z kilku komunikatów. Każdy z nich wskazuje inną przyczynę:

  • DataSource.NotFound: File or Folder: Nie możemy znaleźć folderu „C:\Users\jan.kowalski\OneDrive - Nordvella\Sprzedaz_miesieczna\*”. albo Could not find file przy pojedynczym pliku - ścieżka prowadzi do Twojego dysku albo profilu,
  • prośba o poświadczenia, komunikat Nie możemy wykonać uwierzytelniania przy użyciu podanych poświadczeń. albo Dostęp do tego zasobu jest zabroniony. - logowanie albo uprawnienia,
  • Wymagane są informacje dotyczące prywatności danych. albo błąd Formula.Firewall - poziomy i opcje prywatności,
  • brak błędu, ale inne liczby albo daty - ustawienia regionalne.

Dlaczego tak się dzieje

Plik przenosi kod zapytań, ale nie środowisko, w którym ten kod działa. Dokumentacja Microsoft opisuje zapytanie do pliku z dysku D, które trafia do osoby bez dostępu do dysku D i kończy się błędem DataSource.NotFound. Różnice między komputerami dotyczą czterech obszarów:

  • Ścieżki. Krok źródła zawiera ścieżkę na sztywno: do folderu w profilu użytkownika, do lokalnej kopii folderu OneDrive albo do litery dysku sieciowego, której kolega nie ma.
  • Poświadczenia. Nie są zapisywane w pliku, tylko na komputerze, więc współpracownik loguje się własnym kontem, a to konto może nie mieć uprawnień do źródła.
  • Poziomy i opcje prywatności. Ustawia je każdy użytkownik u siebie. Jeśli w Twoich opcjach globalnych włączone jest Zawsze ignoruj ustawienia poziomu prywatności, zapora prywatności u Ciebie nie sprawdza łączenia źródeł, a u kolegi z ustawieniami domyślnymi może zgłosić błąd.
  • Ustawienia regionalne. Według Microsoft Power Query Desktop interpretuje tekst przy zmianie typu według formatu regionalnego systemu, o ile plik go nie nadpisuje. Tekst 12,5 według ustawień polskich daje 12,5, a według kultury, czyli zestawu reguł zapisu liczb i dat, Angielski (Stany Zjednoczone) daje 125.

Jak to rozwiązać krok po kroku

  1. Poproś o dokładny komunikat i nazwę kroku, na którym zatrzymało się zapytanie, i dopasuj je do listy powyżej. To od razu zawęża szukanie do ścieżek, poświadczeń, prywatności albo ustawień regionalnych.
  2. Ścieżki: przenieś pliki źródłowe w miejsce, które ma ten sam adres dla wszystkich. Folder w SharePoint albo OneDrive dla firm podłącz łącznikiem Z folderu programu SharePoint przez adres witryny, a wspólny folder sieciowy przez ścieżkę sieciową, na przykład \\serwer\dane\Nordvella, zamiast litery dysku.
  3. Jeśli ścieżka musi się różnić między osobami, trzymaj ją w parametrze: Zarządzaj parametrami, Nowy parametr, typ Tekst, pole Wartość bieżąca, a w ustawieniach kroku Źródło przełącz pole ścieżki z Tekst na Parametr. Kolega zmienia wtedy jedną wartość, a nie kod. Tak działa parametr FolderSprzedazy z naszego kursu.
  4. Poświadczenia: współpracownik przy pierwszym odświeżeniu podaje własne dane logowania. Gdy zobaczy prośbę albo błąd poświadczeń, niech u siebie otworzy Ustawienia źródła danych (karta Dane, menu Pobierz dane), zaznaczy źródło i przez Edytuj uprawnienia ustawi właściwy typ i konto. Jeśli jego konto nie ma dostępu do źródła, uprawnienia nadaje właściciel źródła.
  5. Prywatność: porównaj na obu komputerach okno Opcje zapytania (karta Dane, menu Pobierz dane), grupa Globalne, pozycja Prywatność. Domyślna opcja to Połącz dane zgodnie z ustawieniami poziomu prywatności dla każdego pliku. Jeśli u siebie masz włączone ignorowanie, wyłącz je i popraw zapytania, a kolega niech ustawi poziomy prywatności źródeł u siebie.
  6. Ustawienia regionalne: przy zmianie typu kolumn z liczbami i datami zapisanymi jako tekst wybieraj Używając ustawień regionalnych i wskazuj kulturę źródła, na przykład Polski (Polska) albo Angielski (Stany Zjednoczone). Konwersja z jawnie podaną kulturą daje ten sam wynik na każdym komputerze.
Okno ustawień kroku Folder w Power Query ze ścieżką folderu ustawioną na parametr FolderSprzedazy
Ścieżka folderu pobierana z parametru FolderSprzedazy. Ten sam przełącznik między tekstem a parametrem ma większość okien ustawień źródła.

Jak sprawdzić, że zadziałało

Najpewniejszy test to odświeżenie pliku na innym koncie albo komputerze, zanim trafi do zespołu. Otwórz go jako inny użytkownik, odśwież wszystko i sprawdź, czy Power Query pyta tylko o poświadczenia i poziomy prywatności, a nie zgłasza DataSource.NotFound. Porównaj sumy kontrolne, na przykład łączną sprzedaż, z wynikiem u siebie: zgodne liczby potwierdzają, że ustawienia regionalne nie zmieniły konwersji.

Na stałe pomaga jedna zasada: w zapytaniu nie ma niczego, co istnieje tylko na Twoim komputerze. Pliki leżą we wspólnym miejscu, ścieżki są w parametrach, typy mają jawnie wskazane ustawienia regionalne, a każdy użytkownik ma własne poświadczenia i poziomy prywatności.

Wróć do listy: 88 najczęstszych pytań i problemów związanych z Power Query

Baner szkolenia Microsoft Excel - Power Query w JSystems z edytorem Power Query na ekranie laptopa

Szkolenie Microsoft Excel - Power Query --> Dwa dni warsztatów z Excela: pobieranie danych z plików, folderów, SharePointa i baz SQL, ich czyszczenie i łączenie w Power Query, praca w języku M, a na koniec model danych i oparta na nim tabela przestawna. Prowadzi Sebastian Stasiak.

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

Najczęściej zadawane pytania

Dlaczego plik nie przenosi moich poświadczeń?
Power Query zapisuje poświadczenia na komputerze użytkownika, a nie w pliku, więc każdy loguje się własnym kontem. Dzięki temu nikt nie dostaje Twojego dostępu do danych razem ze skoroszytem. Współpracownik ustawia poświadczenia przy pierwszym odświeżeniu albo w oknie Ustawienia źródła danych.
Czy parametr ścieżki wystarczy, gdy pliki są w OneDrive?
Parametr ułatwia zmianę, ale ścieżka do lokalnej kopii OneDrive zawiera profil użytkownika, więc każdy musiałby ją zmienić u siebie. Lepiej podłączyć folder łącznikiem Z folderu programu SharePoint przez adres witryny, który jest taki sam dla wszystkich.
Skąd mam wiedzieć, czy u kolegi zadziała zapora prywatności?
Sprawdź, czy u siebie nie masz włączonego ignorowania poziomów prywatności w Opcjach zapytania, w grupie Globalne albo Bieżący skoroszyt. Jeśli masz, wyłącz je i odśwież zapytania: błędy, które wtedy zobaczysz, zobaczy też kolega z ustawieniami domyślnymi.
Dlaczego u kolegi wychodzą inne liczby, choć nie ma błędu?
Prawdopodobnie zmiana typu nie wskazuje ustawień regionalnych, a jego system ma inny format regionalny niż Twój. Ten sam tekst daje wtedy inną liczbę, na przykład 12,5 czytane według kultury Angielski (Stany Zjednoczone) to 125. Ustaw typ opcją Używając ustawień regionalnych z kulturą źródła.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...