Udostępnij za pośrednictwem


Praca z widokiem zapytań języka DAX

Widok zapytań języka DAX w usłudze Power BI umożliwia wyświetlanie zapytań języka DAX (Data Analysis Expressions) i praca z nimi w modelach semantycznych.

Zapytania języka DAX

W usłudze Power BI formuły języka DAX służą do definiowania różnych typów obliczeń dla danych, ale mogą być również używane do definiowania zabezpieczeń roli. Z drugiej strony zapytania języka DAX mogą służyć do zwracania danych z modelu.

Zapytania języka DAX są podobne do zapytań SQL, w których mogą wyświetlać już posiadane dane. Zapytania języka DAX nie tworzą elementów w modelu ani wizualizacjach w raporcie.

Zapytania języka DAX mają dwie główne części:

  • Instrukcja EVALUATE , która jest wymagana. Określa, co i jak dane są zwracane w zapytaniu.
  • Instrukcja DEFINE , która jest opcjonalna. Umożliwia definiowanie formuł języka DAX, takich jak miara, do użycia w zapytaniu. Miary można dodać do modelu przy użyciu funkcji CodeLens, jeśli są używane w sekcji DEFINE.

Aby dowiedzieć się więcej na temat sposobu użycia zapytań, zobacz Zapytania języka DAX w dokumentacji języka DAX.

Otwieranie widoku zapytania języka DAX

W programie Power BI Desktop wybierz ikonę Widok zapytania języka DAX po lewej stronie.

Zrzut ekranu przedstawiający ikonę widoku zapytania języka DAX w programie Power BI Desktop.

Układ widoku zapytania języka DAX

Przyjrzyjmy się bliżej widokowi zapytań języka DAX w programie Power BI Desktop.

Diagram przedstawiający układ widoku zapytania języka DAX.

Widok zapytania języka DAX zawiera następujące elementy:

Wstążka

Wstążka widoku zapytania języka DAX zawiera typowe akcje używane podczas pisania zapytań języka DAX.

Zrzut ekranu przedstawiający wstążkę widoku zapytania języka DAX.

Przyjrzyjmy się bliżej elementom na wstążce:

Formatuj zapytanie

Wybierz przycisk wstążki Formatowanie zapytania lub użyj klawisza SHIFT+ALT+F, aby sformatować bieżące zapytanie. Zapytanie jest wcięcie z kartami. Funkcje języka DAX są zmieniane na WIELKIE LITERY, a dodatkowe wiersze są dodawane. Formatowanie zapytania języka DAX jest uznawane za najlepsze rozwiązanie i poprawia czytelność zapytań języka DAX. Formatowanie również wcięcie w taki sposób, aby można było zwinąć i rozwinąć sekcje zapytania.

Zrzut ekranu przedstawiający przycisk Formatuj zapytanie.

Komentarz i usuwanie komentarza

Wybierz przycisk wstążki Komentarz , aby dodać podwójny ukośnik odwrotny (//) na początku wiersza, w którym znajduje się kursor lub wszystkie zaznaczone wiersze. Spowoduje to dodanie komentarzy do wierszy i uruchomienia zapytania języka DAX spowoduje zignorowanie tych wierszy.

Wybierz przycisk wstążki Usuń komentarz, aby usunąć // na początku dowolnego wiersza, w którym znajduje się kursor lub wszystkie zaznaczone wiersze. Nie działa w wierszach, w których jest dodawanych wiele notacji komentarzy wierszy.

Możesz również użyć klawiszy CTRL+/, aby przełączać się między komentarzem i usuń komentarz.

Zrzut ekranu przedstawiający przyciski Komentarz i Usuń komentarz na wstążce widoku zapytania języka DAX.

Znajdź i zamień

Wybierz przycisk wstążki Znajdź lub użyj klawiszy CTRL+F, aby wyszukać tekst w edytorze zapytań języka DAX. Funkcja Znajdź zawiera opcje dopasowania wielkości liter, dopasowania całego słowa, użycia wyrażenia regularnego i cyklu wszystkich dopasowań dla bieżącego zapytania. Możesz również wybrać cudzysłów z lewej strony pola Znajdź , aby wprowadzić pozycję Zamień.

Zrzut ekranu przedstawiający przycisk znajdź na wstążce widoku zapytania języka DAX.

Wybierz przycisk Zamień na wstążce lub użyj klawiszy CTRL+H, aby wyszukać i zamienić tekst w edytorze zapytań języka DAX. Zastąp zawiera opcje, aby zachować przypadek i zastąpić pojedynczo lub wszystkie jednocześnie.

Zrzut ekranu przedstawiający możliwość zastępowania na wstążce widoku zapytania języka DAX.

Paleta poleceń

Wybierz przycisk wstążki Paleta poleceń lub naciśnij klawisze CTRL+ALT+P, aby otworzyć pole palety poleceń. Możesz wyszukać dodatkowe akcje edytora zapytań języka DAX i zobaczyć skojarzone z nimi skróty klawiaturowe.

Zrzut ekranu przedstawiający paletę poleceń widoku zapytań języka DAX.

Pasek poleceń

Pasek poleceń widoku zapytania języka DAX zawiera najważniejsze akcje podczas korzystania z widoku zapytania języka DAX. Przycisk Uruchom wykonuje zapytanie języka DAX lub wybrane wiersze zapytania. Stan zapytania po uruchomieniu jest wyświetlany na dolnym pasku stanu.

Zrzut ekranu przedstawiający pasek poleceń widoku zapytania języka DAX.

Gdy zapytanie jest uruchomione, przycisk staje się przyciskiem Anuluj , który może służyć do zatrzymywania uruchomionego zapytania.

Zrzut ekranu przedstawiający anulowany widok zapytania języka DAX.

Edytor zapytań języka DAX

Widok zapytania języka DAX zawiera edytor zapytań, w którym można pisać i edytować zapytania. To więcej niż tylko większy pasek formuł języka DAX. Jest on bardziej zaawansowany i ma wiele podobieństw do edytora języka DAX dostępnego w programie VS Code.

Edytor zapytań języka DAX ma następujące elementy:

Sugestie i funkcja IntelliSense

Wpisz zapytanie i uzyskaj pomoc dotyczącą sugestii i funkcji IntelliSense podczas edytowania.

Zrzut ekranu przedstawiający funkcję IntelliSense edytora zapytań języka DAX.

Użyj klawisza ENTER lub TAB, aby dodać wyróżnioną funkcję IntelliSense lub SHIFT+ENTER lub ALT+ENTER, aby przejść do innego wiersza bez dodawania opcji intellisense. Wybranie klawisza ESC zamyka dowolną nakładkę.

Zatrzymaj wskaźnik myszy, aby wyświetlić formuły miar

Gdy miara jest uwzględniona w zapytaniu języka DAX, możesz umieścić na niej wskaźnik myszy, aby wyświetlić formułę, nazwę i opis.

Zrzut ekranu przedstawiający wskaźnik myszy, aby wyświetlić funkcję formuły miary.

Wybierz, aby wyświetlić szybkie akcje żarówki miary

Wybranie miary w instrukcji EVALUATE w zapytaniu bez instrukcji DEFINE pokazuje żarówkę szybkich akcji. Wybierz pozycję Definiuj lub Zdefiniuj z odwołaniami, aby utworzyć instrukcję DEFINE z formułą tej miary z formułami języka DAX lub bez tej miary.

Aktualizowanie miar modelu przy użyciu funkcji CodeLens

Użycie metody DEFINE MEASURE jest przydatne podczas tworzenia miar. Możesz edytować wiele miar w jednym oknie, a następnie uruchomić zapytanie, aby wyświetlić wyniki wszystkich lub tylko niektóre z nich z określoną grupą według kolumn. Nie musisz tworzyć wizualizacji tabeli w widoku raportu i przełączać się tam i z powrotem między formułami miar. Funkcja CodeLens wykonuje ten krok dalej, podając monity, gdy miara już istnieje w modelu lub jeśli nie, może ją dodać.

Przepływ pracy aktualizacji miar

Szybkie akcje żarówki i funkcja CodeLens mogą być używane razem w pełnym przepływie pracy:

  1. W menu kontekstowym miary wybierz pozycję Szybkie zapytania, a następnie oceń, aby zapytanie zostało utworzone na nowej karcie Zapytanie.
  2. Wybierz miarę w zapytaniu, aby zdefiniować lub zdefiniować z odwołaniami, dodając instrukcję DEFINE.
  3. Wprowadź aktualizacje wyrażenia do miary, a następnie uruchom zapytanie języka DAX, aby wyświetlić zmianę.
  4. Gdy zmiana będzie wyświetlana zgodnie z oczekiwaniami, użyj modelu aktualizacji CodeLens: zastąp miarę, aby zapisać ją z powrotem do modelu.

Oto bardziej wizualny sposób zrozumienia przepływu pracy:

Diagram przepływu pracy.

Siatka wyników

Po uruchomieniu zapytania wyniki są wyświetlane w siatce Wyniki .

Zrzut ekranu przedstawiający siatkę wyników.

Jeśli w edytorze zapytań istnieje więcej niż jedna instrukcja EVALUATE, można zwrócić wiele wyników. Możesz użyć listy rozwijanej Wynik , aby przełączać się między nimi. Przycisk Kopiuj kopiuje całą siatkę jako tabelę rozdzielaną tabulatorami z nagłówkami. Rozmiar siatki można zmienić przy użyciu strzałek w prawym górnym rogu lub ręcznie z kursorem na obramowanie między siatką wyników a edytorem zapytań.

Jeśli zapytanie spowoduje wystąpienie błędu, zostanie wyświetlona siatka wyników.

Zrzut ekranu przedstawiający komunikat o błędzie w siatce wyników.

Przycisk kopiowania przesyła błąd do schowka. Początek błędu wskazuje, gdzie w zapytaniu występuje błąd. Na powyższej ilustracji błąd to:

"Kwerenda (4, 23) Nie można określić wartości "Sales 2". Kolumna nie istnieje lub nie ma bieżącego wiersza dla tej kolumny".

I "Zapytanie (4, 23)" wskazuje błąd w wierszu 4 i w znaku 23.

Karty zapytań

Widok zapytania języka DAX może zawierać wiele kart zapytań, które można zmienić lub usunąć. Pokazują również bieżący stan zapytania.

Zrzut ekranu przedstawiający karty Zapytanie.

Każda karta zawiera wskaźnik stanu:

  • Żaden wskaźnik nie jest wyświetlany przed uruchomieniem zapytania.
  • Zielony znacznik wyboru wskazuje pomyślne uruchomienie zapytania.
  • Czerwony krzyż wskazuje, że wystąpił błąd.
  • Wypełniony kwadrat w okręgu wskazuje, że zapytanie zostało anulowane.
  • Zegar wskazuje, że zapytanie jest uruchomione.

Zapytania mogą być uruchamiane w tle, co umożliwia kontynuowanie pracy na innych kartach zapytań.

Zapisywanie zapytań języka DAX

Karty zapytań widoku zapytań języka DAX są zapisywane w pliku podczas zapisywania w programie Power BI Desktop, dzięki czemu można kontynuować, w którym zostało przerwane po ponownym otwarciu pliku. Jeśli używasz trybu dewelopera do zapisywania projektu usługi Power BI, każda karta zapytania jest dołączana jako plik dax w folderze DAXQueries folderu modelu semantycznego. Dowiedz się więcej w dokumentacji trybu dewelopera usługi Power BI.

Obecnie nie można wyświetlać ani edytować zapytań języka DAX w usługa Power BI. Osoby przeglądające raport lub model semantyczny nie widzą zapytań języka DAX zapisanych za pomocą modelu semantycznego.

Okienko danych

Okienko Dane zawiera elementy w modelu, które ułatwiają pisanie zapytań. Ścieżki edycji dla większości tych elementów są blokowane w widoku zapytania.

Szybkie zapytania

Menu kontekstowe Okienko danych zawiera szybkie zapytania. Użyj szybkich zapytań, aby utworzyć zapytania na nowej karcie zapytania dla tabel, kolumn i miar. Szybkie zapytania są zaprojektowane tak, aby zwiększyć produktywność typowych zadań i tworzyć je, aby można je było łatwo modyfikować. Wszystkie szybkie zapytania są tworzone na nowej karcie zapytania i są uruchamiane automatycznie.

Dowolnym miejscu

Zdefiniuj wszystkie miary w modelu, tworząc zapytanie ze wszystkimi formułami miar wyświetlanymi w zapytaniu. Łatwe wyszukiwanie wszystkich formuł miar.

Tabele
  • Pokaż 100 pierwszych wierszy tworzy zapytanie przy użyciu funkcji SELECTCOLUMNS(), aby wyświetlić 100 pierwszych wierszy tabeli. Kolumny są wyświetlane w każdym wierszu, aby umożliwić łatwą modyfikację przez komentowanie wierszy. Do określenia kolejności sortowania dołączono również element ORDER BY.

    Zrzut ekranu przedstawiający pokaż 100 pierwszych wierszy.

  • Pokaż statystyki kolumn tworzy zapytanie przedstawiające informacje statystyczne dla każdej kolumny w tabeli. Zobacz wiele formuł, aby dowiedzieć się, jak agregować kolumny jako MIN, MAX, AVERAGE, COUNT i nie tylko.

  • Zdefiniuj wszystkie miary w tej tabeli , tworząc zapytanie z formułami miar tej tabeli wyświetlanymi w zapytaniu.

Kolumny
  • Pokaż podgląd danych tworzy zapytanie przy użyciu funkcji DISTINCT(), aby wyświetlić wartości kolumny.

    Zrzut ekranu przedstawiający podgląd danych pokazu.

  • Pokaż statystyki kolumn tworzy zapytanie przedstawiające informacje statystyczne dla tej konkretnej kolumny. Zobacz wiele formuł, aby dowiedzieć się, jak agregować kolumnę jako MIN, MAX, AVERAGE, COUNT i nie tylko. Zwrócone zapytanie różni się w zależności od typu danych kolumny, pokazując różne statystyki dla kolumn liczbowych, tekstowych i dat.

    Zrzut ekranu przedstawiający podgląd kolumny show.

Miary
  • Funkcja Evaluate tworzy zapytanie, aby wyświetlić wynik miary. Funkcja SUMMARIZECOLUMNS() jest używana, aby można było dodać dowolną grupę według kolumn, aby pokazać miarę według określonych grup, takich jak Kraj, Produkt itp.

    Zrzut ekranu przedstawiający miarę oceny.

  • Zdefiniuj i oceń tworzy zapytanie, aby wyświetlić wynik miary i pokazać formułę miary w instrukcji DEFINE, którą można następnie zmodyfikować.

    Zrzut ekranu przedstawiający definiowanie i ocenianie miary.

  • Zdefiniuj z odwołaniami i oceń tworzy zapytanie, aby wyświetlić wynik miary i pokazać nie tylko formułę miary w instrukcji DEFINE, która może zostać zmodyfikowana, ale także wszelkie inne miary, do których odwołuje się formuła miary. Edytuj dowolną część w pełnym kontekście miary.

    Zrzut ekranu przedstawiający definicję z odwołaniami i ocenami.

Pobieranie wizualnych zapytań języka DAX z Analizator wydajności

Wizualizacje w widoku raportów pobierają dane z modelu, tworząc zapytanie języka DAX. Zapytanie wizualne można wyświetlić w widoku zapytania języka DAX przy użyciu Analizator wydajności. Analizator wydajności może dać wgląd w to, dlaczego wizualizacja może wyświetlać nieoczekiwaną wartość lub po prostu jako sposób szybkiego uruchamiania zapytania, które można dalej modyfikować.

W widoku Raport przejdź do wstążki Optymalizacja, a następnie wybierz pozycję Analizator wydajności. Wybierz pozycję Rozpocznij nagrywanie, a następnie pozycję Odśwież wizualizacje. W poniższej tabeli rozwiń wizualizację, aby wyświetlić opcje kopiowania zapytania lub uruchamiania w widoku zapytania języka DAX. Wybranie pozycji Uruchom w widoku zapytania języka DAX powoduje wyświetlenie zapytania wizualnego, dodanie go jako nowej karty Zapytanie w widoku zapytania języka DAX, a następnie uruchomienie go.

Zrzut ekranu przedstawiający zapytania języka DAX wizualizacji w funkcji Analizator wydajności.

Rozważania i ograniczenia

Widok zapytania języka DAX jest obecnie w wersji zapoznawczej. Należy pamiętać o następujących kwestiach:

  • Model aktualizacji: Zastąp miarę CodeLens usuwa komentarze w formule języka DAX.
  • Model aktualizacji: Zastąp miary CodeLens nie są wyświetlane tylko ze zmianami formatowania.
  • Model aktualizacji: Zastąp miary CodeLens mogą wprowadzać dodatkowe wiersze, gdy wystąpi błąd składniowy.
  • 500+ wierszy w edytorze zapytań języka DAX ma zauważalne opóźnienie podczas wpisywania.
  • Szybkie akcje żarówki dla miar są wyświetlane tylko wtedy, gdy żadna instrukcja DEFINE nie znajduje się na karcie zapytania.
  • Formatowanie kwerendy powoduje podział funkcji RANKX.
  • Paleta poleceń pokazuje polecenia, które jeszcze nie działają.
  • Karty zapytań nie zezwalają jeszcze na przenoszenie.
  • Siatka wyników nie pokazuje jeszcze kolumn i miar o określonym formacie, takim jak Waluta, liczba KtoTo le z tysiącami itp.
  • Pobierz ten plik z usługa Power BI nie będzie zawierać zapytań języka DAX zapisanych w opublikowanym modelu semantycznym.
  • Skonfigurowanie początkowej integracji usługi Git z obszaru roboczego nie będzie obejmować zapytań języka DAX zapisanych w opublikowanym modelu semantycznym. Dowiedz się więcej na temat integracji z usługą Git w usłudze Fabric.

Należy pamiętać o pewnych ograniczeniach:

  • Maksymalnie 15 MB danych na zapytanie. Po przekroczeniu 15 MB bieżący wiersz zostanie ukończony, ale nie zostaną zapisane żadne dodatkowe wiersze.
  • Maksymalnie 1000 000 wartości na zapytanie. Jeśli wykonasz zapytanie dotyczące 20 kolumn, możesz wrócić do maksymalnie 50 000 wierszy (1 milion podzielonych przez 20).
  • Zdefiniuj wszystkie miary w tej tabeli lub modelu są niedostępne, gdy istnieje więcej niż 500 miar.