Wskazówki dotyczące składania zapytań w programie Power BI Desktop
W tym artykule elementy docelowe modelowania danych są przeznaczone dla osób tworzących modele w programie Power BI Desktop. Zawiera on wskazówki dotyczące najlepszych rozwiązań dotyczących tego, kiedy i jak można osiągnąć składanie zapytań Dodatku Power Query.
Składanie zapytań to możliwość generowania pojedynczej instrukcji zapytania dodatku Power Query, która pobiera i przekształca dane źródłowe. Aby uzyskać więcej informacji, zobacz Składanie zapytań Dodatku Power Query.
Wskazówki
Wskazówki dotyczące składania zapytań różnią się w zależności od trybu modelu.
W przypadku tabeli trybu przechowywania DirectQuery lub Podwójne zapytanie Dodatku Power Query musi osiągnąć składanie zapytań.
W przypadku tabeli Import może być możliwe składanie zapytań. Gdy zapytanie jest oparte na relacyjnym źródle — i jeśli można utworzyć pojedynczą instrukcję SELECT — uzyskujesz najlepszą wydajność odświeżania danych, zapewniając składanie zapytań. Jeśli aparat mashupu Power Query jest nadal wymagany do przetwarzania przekształceń, należy dążyć do zminimalizowania pracy, którą należy wykonać, zwłaszcza w przypadku dużych modeli semantycznych.
Poniższa lista punktowana zawiera szczegółowe wskazówki.
Deleguj jak najwięcej przetwarzania do źródła danych: jeśli nie można składać wszystkich kroków zapytania Power Query, odkryj krok uniemożliwiający składanie zapytań. Jeśli to możliwe, przenieś kolejne kroki wcześniej w sekwencji, aby można je było uwzględnić w składaniu zapytań. Zwróć uwagę, że aparat mashupu Power Query może być wystarczająco inteligentny, aby zmienić kolejność kroków zapytania podczas generowania zapytania źródłowego.
Jeśli w przypadku źródła danych relacyjnych krok uniemożliwiający składanie zapytań można osiągnąć w jednej instrukcji SELECT lub w ramach logiki proceduralnej procedury składowanej, rozważ użycie natywnego zapytania SQL zgodnie z opisem w dalszej części.
Użyj natywnego zapytania SQL: jeśli zapytanie Power Query pobiera dane ze źródła relacyjnego, niektóre źródła mogą używać natywnego zapytania SQL. Zapytanie może być w rzeczywistości dowolną prawidłową instrukcją, w tym wykonywaniem procedury składowanej. Jeśli instrukcja generuje wiele zestawów wyników, zostanie zwróconych tylko pierwszy. Parametry można zadeklarować w instrukcji i zalecamy użycie funkcji Value.NativeQuery M. Ta funkcja została zaprojektowana tak, aby bezpiecznie i wygodnie przekazywać wartości parametrów. Ważne jest, aby zrozumieć, że aparat mashupu Power Query nie może składać kolejnych kroków zapytań, dlatego należy uwzględnić całą logikę przekształcania (lub tyle) w natywnej instrukcji zapytania.
Podczas korzystania z natywnych zapytań SQL należy wziąć pod uwagę dwie ważne kwestie:
- W przypadku tabeli modelu DirectQuery zapytanie musi być instrukcją SELECT i nie może używać wspólnych wyrażeń tabel (CTE) ani procedury składowanej.
- Odświeżanie przyrostowe nie może używać natywnego zapytania SQL. Wymusiłoby to pobranie wszystkich wierszy źródłowych przez aparat mashupu Power Query, a następnie zastosowanie filtrów w celu określenia zmian przyrostowych.
Ważne
Natywne zapytanie SQL może potencjalnie wykonywać więcej niż pobierać dane. Można wykonać dowolną prawidłową instrukcję (i ewentualnie wiele razy), w tym taką, która modyfikuje lub usuwa dane. Ważne jest, aby zastosować zasadę najniższych uprawnień, aby upewnić się, że konto używane do uzyskiwania dostępu do bazy danych ma tylko uprawnienia do odczytu dla wymaganych danych.
Przygotowywanie i przekształcanie danych w źródle: po zidentyfikowaniu, że nie można składać niektórych kroków zapytania Power Query, może być możliwe zastosowanie przekształceń w źródle danych. Przekształcenia można osiągnąć, pisząc widok bazy danych, który logicznie przekształca dane źródłowe. Lub przez fizyczne przygotowywanie i materializowanie danych przed wykonywaniem zapytań w usłudze Power BI. Relacyjny magazyn danych to doskonały przykład przygotowanych danych, zwykle składających się ze wstępnie zintegrowanych źródeł danych organizacji.
Powiązana zawartość
Aby uzyskać więcej informacji na temat tego artykułu, zapoznaj się z następującymi zasobami:
- Artykuł dotyczący składania zapytań Power Query
- Odświeżanie przyrostowe dla modeli semantycznych
- Pytania? Spróbuj zadać Społeczność usługi Power BI