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.
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.
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.
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.
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.
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ń.
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.
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.
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.
Gdy zapytanie jest uruchomione, przycisk staje się przyciskiem Anuluj , który może służyć do zatrzymywania uruchomionego zapytania.
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.
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.
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:
- W menu kontekstowym miary wybierz pozycję Szybkie zapytania, a następnie oceń, aby zapytanie zostało utworzone na nowej karcie Zapytanie.
- Wybierz miarę w zapytaniu, aby zdefiniować lub zdefiniować z odwołaniami, dodając instrukcję DEFINE.
- Wprowadź aktualizacje wyrażenia do miary, a następnie uruchom zapytanie języka DAX, aby wyświetlić zmianę.
- 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:
Siatka wyników
Po uruchomieniu zapytania wyniki są wyświetlane w siatce Wyniki .
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.
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.
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.
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.
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.
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.
Zdefiniuj i oceń tworzy zapytanie, aby wyświetlić wynik miary i pokazać formułę miary w instrukcji DEFINE, którą można następnie zmodyfikować.
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.
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.
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