Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podsumowanie
| Przedmiot | Opis |
|---|---|
| Stan wydania | Ogólna dostępność |
| Produkty | Excel Power BI (modele semantyczne) Power BI (przepływy danych) Sieć szkieletowa (Dataflow Gen2) Power Apps (przepływy danych) Dynamics 365 Customer Insights Analysis Services |
| Dokumentacja referencyjna funkcji |
File.Contents Lines.FromBinary Csv.Document |
Uwaga / Notatka
Niektóre funkcje mogą być obecne w jednym produkcie, ale nie w innych ze względu na harmonogramy wdrażania i możliwości specyficzne dla hosta.
Obsługiwane funkcje
- Importowanie
Nawiązywanie połączenia z lokalnym plikiem tekstowym/CSV z programu Power Query Desktop
Aby załadować lokalny tekst lub plik CSV:
Wybierz opcję Tekst/CSV w obszarze Pobierz dane. Ta akcja powoduje uruchomienie lokalnej przeglądarki plików, w której można wybrać plik tekstowy.
Wybierz pozycję Open (Otwórz), aby otworzyć plik.
W nawigatorze możesz przekształcić dane w edytorze Power Query, wybierając pozycję Przekształć dane lub załadować dane, wybierając pozycję Załaduj.
Nawiązywanie połączenia z plikiem tekst/CSV z usługi Power Query Online
Aby załadować lokalny tekst lub plik CSV:
Na stronie Źródła danych wybierz pozycję Tekst/CSV.
W ustawieniach połączenia załaduj plik lub podaj ścieżkę do lokalnego pliku tekstowego lub żądanego pliku CSV.
Wybierz lokalną bramę danych z bramy danych.
Podaj nazwę użytkownika i hasło.
Wybierz Dalej.
W nawigatorze wybierz pozycję Przekształć dane , aby rozpocząć przekształcanie danych w edytorze Power Query.
Ładowanie z internetu
Aby załadować plik tekstowy lub CSV z Sieci Web, wybierz łącznik sieci Web, wprowadź adres internetowy pliku i postępuj zgodnie z instrukcjami poświadczeń.
Ograniczniki tekstowe/CSV
Power Query traktuje pliki CSV jako pliki ustrukturyzowane, w których separatorem jest przecinek — szczególny przypadek pliku tekstowego. Jeśli wybierzesz plik tekstowy, program Power Query automatycznie podejmie próbę określenia, czy ma rozdzielane wartości ogranicznikami i jaki jest ten ogranicznik. Jeśli może on wywnioskować ogranicznik, automatycznie traktuje go jako ustrukturyzowane źródło danych.
Tekst bez struktury
Jeśli plik tekstowy nie ma struktury, uzyskasz jedną kolumnę z nowym wierszem dla każdego wiersza zakodowanego w tekście źródłowym. Jako przykładowy tekst bez struktury należy wziąć pod uwagę plik Notatnika z następującą zawartością:
Hello world.
This is sample data.
Gdy go załadujesz, pojawi się ekran nawigacyjny, który wczytuje każdy z tych wierszy do oddzielnego wiersza.
W tym oknie dialogowym można skonfigurować tylko jedną opcję, która jest wybrana z listy rozwijanej Źródło pliku . Ta lista rozwijana umożliwia wybranie zestawu znaków użytego do wygenerowania pliku. Obecnie zestaw znaków nie jest wykrywany, a UTF-8 jest wykrywany tylko wtedy, gdy tekst zaczyna się od znacznika UTF-8 BOM.
CSV
Przykładowy plik CSV można znaleźć tutaj.
Oprócz źródła plików plik CSV obsługuje również określanie ogranicznika i sposobu obsługi wykrywania typów danych.
Ograniczniki obejmują dwukropek, przecinek, znak równości, średnik, spację, tabulator, ogranicznik niestandardowy (który może być dowolnym ciągiem) i stałą szerokość (dzielenie tekstu według standardowej liczby znaków).
Ostatnia lista rozwijana umożliwia wybranie sposobu obsługi wykrywania typów danych. Można go opierać na pierwszych 200 wierszach lub w całym zestawie danych. Możesz również wyłączyć automatyczne wykrywanie typów danych, a zamiast tego zezwolić wszystkim kolumnom na wartość domyślną "Text". Ostrzeżenie: jeśli wybierzesz cały zestaw danych, może to spowodować, że początkowe obciążenie danych w edytorze będzie wolniejsze.
Ponieważ wnioskowanie może być nieprawidłowe, sprawdź dokładnie ustawienia przed załadowaniem.
Tekst ustrukturyzowany
Gdy Power Query wykrywa strukturę w pliku tekstowym, traktuje plik tekstowy jako plik wartości rozdzielanej ogranicznikiem. Zapewnia ona te same opcje dostępne podczas otwierania pliku CSV. Wolumin CSV jest zasadniczo plikiem z rozszerzeniem wskazującym typ ogranicznika.
Jeśli na przykład zapiszesz następujący przykład jako plik tekstowy, Power Query odczytuje go jako ogranicznik tabulacji, a nie tekst bez struktury.
Column 1 Column 2 Column 3
This is a string. 1 ABC123
This is also a string. 2 DEF456
Można użyć tej struktury dla dowolnego rodzaju innego pliku opartego na ogranicznikach.
Edytowanie źródła
Podczas edytowania kroku źródłowego (w okienku Zastosowane kroki w programie Power Query Desktop) zostanie wyświetlone nieco inne okno dialogowe niż podczas początkowego ładowania pliku. W zależności od sposobu, w jaki plik jest obecnie traktowany (jako tekst lub CSV), zostanie wyświetlony ekran z różnymi listami rozwijanymi.
Użyj listy rozwijanej Podziały wierszy , aby wybrać, czy chcesz zastosować podziały wierszy, które znajdują się wewnątrz cudzysłowów, czy nie.
Jeśli na przykład edytujesz wcześniej podany przykład "ustrukturyzowany", możesz dodać podział wiersza.
Column 1 Column 2 Column 3
This is a string. 1 "ABC
123"
This is also a string. 2 "DEF456"
Jeśli ustawisz Podziały linii na Ignoruj podziały linii w cudzysłowach, próbka zostanie wczytana tak, że druga połowa ciągu znajdzie się pod pierwszą połową w tej samej kolumnie.
Jeśli ustawisz podziały wierszy na Zastosuj wszystkie podziały wierszy, przykład ładuje dodatkowy wiersz, a zawartość po podziałach wierszy będzie jedyną zawartością w tym wierszu (dokładne dane wyjściowe mogą zależeć od struktury zawartości pliku).
Użyj listy rozwijanej Otwórz plik jako , aby edytować, co chcesz załadować jako plik. To ustawienie jest ważne w przypadku rozwiązywania problemów. W przypadku plików strukturalnych, które technicznie nie są plikami CSV (na przykład pliku z wartościami rozdzielanymi tabulatorami zapisanego jako plik tekstowy), pozostaw opcję Otwórz plik jako ustawioną na CSV. To ustawienie określa również, które listy rozwijane są dostępne w pozostałej części okna dialogowego.
Tekst/CSV według przykładu
Tekst/CSV według przykładu w Power Query to funkcja ogólnie dostępna w programie Power BI Desktop i Power Query Online. Gdy używasz łącznika Text/CSV, zobaczysz opcję Wyodrębnij tabelę przy użyciu przykładów w lewym dolnym rogu nawigatora.
Po wybraniu tego przycisku zostanie wyświetlona strona Wyodrębnij tabelę przy użyciu przykładów . Na tej stronie określisz przykładowe wartości wyjściowe dla danych, które mają być wyodrębnione z pliku tekstowego/CSV. Po wprowadzeniu pierwszej komórki kolumny pozostałe komórki w kolumnie zostaną wypełnione. Aby dane zostały wyodrębnione poprawnie, może być konieczne wprowadzenie więcej niż jednej komórki w kolumnie. Jeśli niektóre komórki w kolumnie są nieprawidłowe, możesz naprawić pierwszą nieprawidłową komórkę, a dane zostaną wyodrębnione ponownie. Aby upewnić się, że dane zostały wyodrębnione pomyślnie, sprawdź dane znajdujące się w kilku pierwszych komórkach.
Uwaga / Notatka
Wprowadź przykłady w kolejności kolumn. Po pomyślnym wypełnieniu kolumny utwórz nową kolumnę i zacznij wprowadzać przykłady w nowej kolumnie.
Po zakończeniu tworzenia tej tabeli możesz wybrać opcję załadowania lub przekształcenia danych. Zwróć uwagę, że wynikowe zapytania zawierają szczegółowy podział wszystkich kroków, które zostały wywnioskowane na potrzeby wyodrębniania danych. Te kroki to regularne kroki zapytania, które można dostosować zgodnie z potrzebami.
Rozwiązywanie problemów
Ładowanie plików z Internetu
Jeśli pobierasz z sieci pliki text/csv i podnosisz również nagłówki, a skala pobierania jest na tyle duża, że musisz brać pod uwagę możliwość dławienia, rozważ opakowanie wywołania Web.Contents w Binary.Buffer(). W takim przypadku buforowanie pliku przed przeniesieniem nagłówków wyżej sprawia, że plik jest żądany tylko raz.
Praca z dużymi plikami CSV
Jeśli masz do czynienia z dużymi plikami CSV w edytorze Power Query Online, może zostać wyświetlony błąd wewnętrzny. Najpierw pracuj z plikiem CSV o mniejszym rozmiarze, zastosuj kroki w edytorze, a po zakończeniu zmień ścieżkę na większy plik CSV. Ta metoda pozwala wydajniej pracować i zmniejsza szanse na przekroczenie limitu czasu w edytorze online. Nie należy się spodziewać wystąpienia tego błędu podczas odświeżania, ponieważ usługa dopuszcza dłuższy limit czasu.
Tekst bez struktury jest interpretowany jako ustrukturyzowany
W rzadkich przypadkach Power Query interpretuje dokument jako plik CSV, gdy podobne liczby przecinków pojawiają się w akapitach. Jeśli ten problem wystąpi, zmodyfikuj krok Źródło w edytorze Power Query, a następnie wybierz pozycję Tekst zamiast pliku CSV z listy rozwijanej Otwórz plik jako.
Kolumny w programie Power BI Desktop
Podczas importowania pliku CSV aplikacja Power BI Desktop generuje krok columns=x w edytorze Power Query, gdzie x oznacza liczbę kolumn w pliku CSV w momencie początkowego importu. Jeśli później dodasz więcej kolumn i ustawisz źródło danych do odświeżenia, operacja odświeżania nie będzie zawierać żadnych kolumn poza początkową liczbę x kolumn.
Błąd: Połączenie zamknięte przez hosta
Podczas ładowania plików Text/CSV ze źródła internetowego i promowania nagłówków mogą czasami wystąpić następujące błędy: "An existing connection was forcibly closed by the remote host" lub "Received an unexpected EOF or 0 bytes from the transport stream." Host może powodować te błędy, stosując środki ochronne i zamykając połączenie, które może zostać tymczasowo wstrzymane, na przykład podczas oczekiwania na inne połączenie ze źródłem danych na potrzeby operacji łączenia lub dołączania. Aby obejść te błędy, spróbuj dodać wywołanie Binary.Buffer (zalecane) lub Table.Buffer . Te funkcje pobierają plik, ładują go do pamięci i natychmiast zamykają połączenie. Ta akcja uniemożliwia wstrzymanie podczas pobierania i uniemożliwia hostowi wymuszone zamknięcie połączenia przed pobraniem zawartości.
Poniższy przykład ilustruje to obejście. Przed przekazaniem wynikowej tabeli do tabeli Table.PromoteHeaders należy wykonać buforowanie.
- Oryginalny kod:
Csv.Document(Web.Contents("https://.../MyFile.csv"))
- Za pomocą
Binary.Buffer:
Csv.Document(Binary.Buffer(Web.Contents("https://.../MyFile.csv")))
- Za pomocą
Table.Buffer:
Table.Buffer(Csv.Document(Web.Contents("https://.../MyFile.csv")))