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 utworzone lub zaktualizowane przy użyciu zapytania DEFINE MEASURE języka DAX to miary o zakresie zapytania języka DAX, które są uruchamiane tylko w kontekście zapytania języka DAX. Miary o zakresie zapytania języka DAX można dodać do modelu przy użyciu akcji aktualizacji modelu CodeLens lub zaktualizować model za pomocą przycisku Zmiany .

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.

W obszarze roboczym portalu usługa Power BI lub sieci szkieletowej wybierz pozycję Zapisz zapytania języka DAX z menu kontekstowego.

Na stronie usługa Power BI lub semantycznie model semantyczny portalu sieci Szkieletowej wybierz pozycję Zapisz zapytania języka DAX w górnej części strony.

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 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ć 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 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 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 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.

Uruchamianie i anulowanie

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.

Aktualizowanie modelu za pomocą zmian

Przycisk Aktualizuj model ze zmianami spowoduje dodanie lub zastąpienie miar modelu za pomocą formuł języka DAX z miar o określonym zakresie zapytania języka DAX. Miary zakresu zapytania języka DAX znajdują się w bloku DEFINIOWANIE MIARy . Alternatywnie możesz dodać lub zastąpić miary modelu indywidualnie przy użyciu tekstu CodeLens wyświetlanego powyżej każdego z nich.

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 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 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 funkcji DEFINE MEASURE jest przydatne podczas tworzenia miar, dzięki czemu można je najpierw utworzyć jako miary o zakresie zapytania języka DAX. 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ć.

CodeLens to tekst, który można kliknąć powyżej bloku DEFINIOWANIE MIARY. W przypadku miar o zakresie zapytań języka DAX, które nie są jeszcze obecne w modelu, zostanie wyświetlona pozycja Aktualizuj model: Dodaj nową miarę CodeLens, co spowoduje dodanie miary modelu po kliknięciu. W przypadku miar o zakresie zapytania języka DAX, które są już obecne w modelu, a gdy formuła języka DAX w zakresie języka DAX jest inna, zostanie wyświetlony model aktualizacji: Zastąp miarę CodeLens, co spowoduje zmianę miary modelu na tę formułę języka DAX po kliknięciu.

Alternatywnie możesz dodać lub zastąpić wiele miar jednocześnie, klikając przycisk Aktualizuj model ze zmianami na pasku poleceń .

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 lub folderu raportu, jeśli są one tworzone w raporcie połączonym na żywo. Dowiedz się więcej w dokumentacji trybu dewelopera usługi Power BI.

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

Karty widoku zapytań języka DAX są odrzucane podczas zamykania podczas zapisywania zapytań języka DAX z portalu usługa Power BI lub sieci szkieletowej.

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.

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

  • Definiowanie nowej miary powoduje utworzenie zapytania z zdefiniowanym blokiem miary. Użyj tej metody, aby utworzyć własną miarę w widoku zapytania języka DAX, a następnie dodać go do modelu, gdy wszystko będzie gotowe.

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.

Widok zapytań języka DAX i połączenie na żywo w programie Power BI Desktop

Program Power BI Desktop może łączyć się na żywo z opublikowanym modelem semantycznym usługi Power BI, klikając pozycję Połącz , gdy w centrum danych OneLake wybrano model semantyczny. W prawym dolnym rogu widoku Raport zostanie wyświetlona opcja Live connected to the Power BI semantic model (Połączenie na żywo z semantycznym modelem usługi Power BI). Widok zapytań języka DAX może służyć do pisania zapytań języka DAX podczas nawiązywania połączenia na żywo.

Miary modelu

Po nawiązaniu połączenia na żywo z opublikowanym modelem semantycznym usługi Power BI nie można wyświetlać ani edytować miar modelu. Opcje szybkich zapytań są ograniczone tylko do oceny.

Miary raportu

Po nawiązaniu połączenia na żywo z opublikowanym modelem semantycznym usługi Power BI można tworzyć miary raportu. Miary raportu można tworzyć przy użyciu akcji Nowa miara w widoku Raport i Model , ale jak sugeruje nazwa, są dostępne tylko w bieżącym raporcie. Po utworzeniu szybkie zapytania w widoku zapytania języka DAX są wyświetlane opcje Definiuj przy użyciu odwołań i oceny. Zapytania języka DAX są uruchamiane w modelu semantycznym, więc miary raportu muszą być zawsze konwertowane na miary o zakresie zapytania języka DAX w bloku DEFINE MEASURE do uruchomienia, ponieważ nie istnieją one w samym modelu.

Zaktualizuj model za pomocą przycisku zmiany i opcji CodeLens w celu zaktualizowania modelu nie są dostępne dla miar raportu.

Widok zapytań języka DAX w Internecie

Pisanie zapytań języka DAX z opublikowanych modeli semantycznych używa widoku zapytań języka DAX w Internecie. Widok zapytań języka DAX w Internecie jest tym samym środowiskiem w programie Power BI Desktop z kilkoma wyjątkami.

  • Użytkownik może edytować modele danych w ustawieniach obszaru roboczego usługi Power BI usługa Power BI (wersja zapoznawcza) musi być włączony do zapisywania zapytań języka DAX. Dowiedz się więcej na stronie Edytowanie modeli danych w usługa Power BI.
  • Zapytania języka DAX są odrzucane po zamknięciu. Zapytania języka DAX w programie Power BI Desktop są zapisywane w modelu, a semantyczny model może zawierać zapytania języka DAX już zapisane w modelu. Widok zapytań języka DAX w internecie nie będzie obecnie wyświetlał żadnych wcześniej zapisanych zapytań języka DAX, które mogą istnieć w modelu semantycznym, a zapytania utworzone w internecie nie są przechowywane po zamknięciu przeglądarki.
  • Pisanie zapytań języka DAX wymaga uprawnień do zapisu w modelu semantycznym. Osoby przeglądające obszary robocze muszą używać programu Power BI Desktop z połączeniem na żywo z modelem semantycznym w celu pisania zapytań języka DAX.

Rozważania i ograniczenia

Zagadnienia, które należy wziąć pod uwagę:

  • 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.
  • Paleta poleceń pokazuje niektóre polecenia, które jeszcze nie działają.
  • Siatka wyników nie pokazuje jeszcze kolumn i miar o określonym formacie, takim jak Waluta, Liczba całkowita 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.

Uruchamianie zapytań języka DAX w Internecie ma dodatkowe limity:

  • Zwracanych jest maksymalnie 99 999 wierszy na zapytanie.
  • Uprawnienie do zapisu w modelu semantycznym. Osoby przeglądające z uprawnieniami do tworzenia mogą używać programu Power BI Desktop do nawiązywania połączenia na żywo i używania widoku zapytań języka DAX do uruchamiania zapytań języka DAX.
  • Dostępne tylko dla modeli semantycznych innych niż domyślne. Program Power BI Desktop umożliwia nawiązywanie połączenia na żywo z domyślnym modelem semantycznym i używanie widoku zapytań języka DAX do uruchamiania zapytań języka DAX.
  • Użytkownik może edytować modele danych w ustawieniach obszaru roboczego usługi Power BI usługa Power BI (wersja zapoznawcza) musi być włączony do zapisywania zapytań języka DAX. Dowiedz się więcej na stronie Edytowanie modeli danych w usługa Power BI