Zdarzenia
31 mar, 23 - 2 kwi, 23
Największe wydarzenie szkoleniowe usługi Fabric, Power BI i SQL. 31 marca – 2 kwietnia. Użyj kodu FABINSIDER, aby zaoszczędzić $400.
Zarejestruj się już dziśTa przeglądarka nie jest już obsługiwana.
Przejdź na przeglądarkę Microsoft Edge, aby korzystać z najnowszych funkcji, aktualizacji zabezpieczeń i pomocy technicznej.
Klienci raportowania, tacy jak Power BI and Excel, wykonują zapytania DAX za każdym razem, gdy wizualizacje są wyświetlane w raporcie, or pole dodane do tabeli, and te zapytania DAX są dostosowywane po zastosowaniu filter. Analizator wydajności w programie Power BI Desktop może wyświetlać te DAX zapytania i andeven uruchamiać je w widoku zapytań DAX.
Korzystając z widoku zapytań
DAX zapytania zwracają wyniki jako tabelę right w narzędziu, co pozwala szybko utworzyć and przetestować wydajność formuł DAX w miarach, or po prostu wyświetlić dane w modelu semantycznym. INFORMACJE and INFO. Funkcje VIEW DAX mogą również uzyskać informacje o modelu semantycznym, takie jak lista tabel, kolumn, miar, and znacznie więcej.
Przed zapoznaniem się z zapytaniami ważne jest, aby mieć dobrą znajomość DAX podstaw. If jeśli jeszcze tego nie zrobiłeś, sprawdź przegląd DAX.
DAX zapytania mają prostą składnię składającą się tylko z jednego wymaganego słowa kluczowego, EVALUATE. Po EVALUATE następuje wyrażenie tabeli, takie jak funkcja DAX albo nazwa tabeli or, które po uruchomieniu zwracają tabelę wyników. Wyrażenia tabeli, które generują tabelę wyników, obejmują:
Istnieje kilka opcjonalnych słów kluczowych specyficznych dla zapytań DAX: ORDER BY, START AT, DEFINE, MEASURE, VAR, TABELA, kolumna and.
Na najbardziej podstawowym poziomie zapytanie DAX jest instrukcją EVALUATE
zawierającą wyrażenie tabeli. Wymagana jest co najmniej jedna instrukcja EVALUATE, jednak zapytanie może zawierać dowolną liczbę EVALUATEstatements.
EVALUATE <table>
Termin | Definicja |
---|---|
table |
Wyrażenie tabeli. |
EVALUATE
'Sales Order'
Zwraca all wierszy i and kolumn z tabeli Zamówienie sprzedaży jako tabela wyników. Można to ograniczyć, stosując TOPNorFILTER, and posortowane za pomocą ORDER BY.
Opcjonalne słowo kluczowe ORDER BY
definiuje o jedną or kolumnę więcej w wyrażeniach zapytania or używanych do sortowania wyników zapytania. Każde wyrażenie, które można ocenić dla każdego wiersza wyniku, jest prawidłowe. Każda kolumna w samym zapytaniu jest również prawidłowa.
Sortowanie według właściwości kolumny w modelach semantycznych not ma zastosowanie do wyników zapytania DAX. If kolumnę należy sortować według innej kolumny w modelu, na przykład w przypadku nazwy Month, sortowanie według kolumny powinno być również uwzględnione w zapytaniu DAX, które ma być używane w ORDER BY.
EVALUATE <table>
[ORDER BY {<expression> [{ASC | DESC}]}[, …]]
Termin | Definicja |
---|---|
expression |
Dowolne wyrażenie DAX, które zwraca pojedynczą skalarną kolumnę valueor zawartą w zapytaniu DAX. |
ASC |
(ustawienie domyślne) Rosnąca kolejność sortowania. |
DESC |
Kolejność sortowania malejącego. |
EVALUATE
SUMMARIZECOLUMNS(
// Group by columns
'Date'[Month Name],
'Date'[Month of Year],
'Product'[Category],
// Optional filters
FILTER(
VALUES('Product'[Category]),
[Category] = "Clothing"
),
// Measures or explicit DAX formulas to aggregate and analyze the data by row
"Orders", [Orders],
"Avg Profit per Order", DIVIDE(
[Total Sales Profit],
[Orders]
)
)
// DAX queries do not use sort order defined in Power BI,
// sort by columns must be included in the DAX query to be used in order by
ORDER BY 'Date'[Month of Year] ASC
Zwraca zamówienia odzieży andaverage zysk na zamówienie według month, w kolejności rosnącej według month, w tabeli wyników.
TOPN not wybiera określoną liczbę wierszy do zwrócenia na podstawie określonej w ORDER BYkolejności sortowania. Zamiast tego TOPN ma własną składnię, aby opcjonalnie określić sortowanie przed zwróceniem pierwszych 100 wierszy. ORDER BY sortuje tylko tabelę wyników zwracaną przez TOPN.
EVALUATE
TOPN(
100,
'Sales Order',
// The way the data is sorted before the top 100 rows are selected
'Sales Order'[SalesOrderLineKey], ASC
)
// The way the data is sorted for the results
ORDER BY
'Sales Order'[Sales Order] ASC,
'Sales Order'[Sales Order Line] ASC
Zwraca 100 pierwszych zamówień sprzedaży posortowanych według kolumny SalesOrderLienKey rosnąco, a następnie sortuje wyniki first według zamówienia sprzedaży, a następnie według linii zamówienia sprzedaży.
Opcjonalne słowo kluczowe START AT
jest używane wewnątrz klauzuli ORDER BY
. Definiuje value, od którego zaczynają się wyniki zapytania.
EVALUATE <table>
[ORDER BY {<expression> [{ASC | DESC}]}[, …]
[START AT {<value>|<parameter>} [, …]]]
Termin | Definicja |
---|---|
value |
Stała value. Nie może być wyrażeniem. |
parameter |
Nazwa parametru w instrukcji XMLA poprzedzona znakiem @ . |
START AT argumenty mają korespondencję jeden do jednego z kolumnami w klauzuli ORDER BY. W klauzuli START AT może istnieć tyle argumentów, ile istnieje w klauzuli ORDER BY, ale not więcej. Argument first w START AT definiuje początek value w kolumnie 1 z kolumn ORDER BY. Argument second w START AT definiuje początkową value w kolumnie 2 spośród kolumn ORDER BY, w wierszach spełniających warunki firstivalue dla kolumny 1.
EVALUATE
'Sales Order'
ORDER BY 'Sales Order'[Sales Order] ASC
// Start at this order, orders before this order will not be displayed
START AT "SO43661"
Zwraca kolumny oznaczone jako all z tabeli Zamówienia Sprzedaży w kolejności rosnącej według numery zamówienia, zaczynając od SO43661. Wiersze poprzedzające to zamówienie sprzedaży są not uwzględnione w tabeli wyników.
Opcjonalne słowo kluczowe DEFINE
wprowadza jedną or więcej definicji jednostek obliczeniowych, które istnieją tylko dla duration zapytania. W przeciwieństwie do EVALUATE
, w zapytaniu DAX może być tylko jeden blok DEFINE
z jedną dodatkową definicją or.
DEFINE
musi poprzedzać instrukcję firstEVALUATE
, and są prawidłowe dla allEVALUATEstatements w zapytaniu. Definicje mogą być zmiennymi, miarami, tabelami1, and kolumnami1. Definicje mogą odwoływać się do innych definicji, które są wyświetlane przed or po bieżącej definicji. Co najmniej jedna definicja jest wymagana, if słowo kluczowe DEFINE
jest zawarte w zapytaniu.
DEFINE MEASURE
to typowy przypadek tworzenia nowych miar oraz or edytowania istniejących miar w modelu semantycznym. Gdy measure już istnieje w modelu, zapytanie DAX użyje formuły measureDAX zdefiniowanej w zapytaniu. Jest to przydatne w przypadku testowania miar za pomocą zapytania DAX przed zaktualizowaniem modelu.
DEFINE MEASURE
jest również przydatny do budowania dodatkowej analizy z użyciem formuł DAX dla określonego zapytania DAX, gdzie możesz not mieć uprawnienia do dodania modelu measureor jest to not niezbędne, aby mieć to w modelu.
[DEFINE
(
(MEASURE <table name>[<measure name>] = <scalar expression>) |
(VAR <var name> = <table or scalar expression>) |
(TABLE <table name> = <virtual table definition>) |
(COLUMN <table name>[<column name>] = <scalar expression>) |
) +
]
(EVALUATE <table expression>) +
Termin | Definicja |
---|---|
Entity |
MEASURE, VAR, TABLE1, or COLUMN1. |
name |
Nazwa definicji kolumny measure, var, tabeli or. Nie może to być wyrażenie. Nazwa not musi być unikatowa. Nazwa istnieje tylko dla zapytania duration. |
expression |
Dowolne wyrażenie DAX zwracające tabelę orvalueskalarną . Wyrażenie może używać dowolnej ze zdefiniowanych jednostek.
If istnieje potrzeba convert wyrażenia skalarnego w wyrażenie tabeli, zawijanie wyrażenia wewnątrz konstruktora tabeli za pomocą nawiasów klamrowych {} , or użyć funkcji ROW() , aby zwrócić pojedynczą tabelę wierszy. |
[1]Przestroga: Definicje KOLUMNY w zakresie zapytania dla tabeli and są przeznaczone tylko do użytku wewnętrznego. Chociaż można define wyrażenia TABLE and COLUMN dla zapytania bez składni error, mogą one powodować błędy środowiska uruchomieniowego, notand są zalecane.
Zapytanie DAX może mieć wiele EVALUATEstatements, ale może mieć tylko jedną instrukcję DEFINE. Definicje w instrukcji DEFINE mogą być stosowane do dowolnych EVALUATEstatements w zapytaniu.
Co najmniej jedna definicja jest wymagana w instrukcji DEFINE.
Measure definicje dla zapytania zastępują miary modelu o tej samej nazwie, ale są używane tylko w zapytaniu. Będą one not wpływać na model measure.
VAR nazwy mają unikatowe ograniczenia. Aby dowiedzieć się więcej, zobacz VAR — parametry.
DEFINE
VAR _firstyear = MIN('Date'[Fiscal Year])
VAR _lastyear = MAX('Date'[Fiscal Year])
TABLE 'Unbought products' = FILTER('Product', [Orders] + 0 = 0)
COLUMN 'Unbought products'[Year Range] = _firstyear & " - " & _lastyear
MEASURE 'Unbought products'[Unbought products] = COUNTROWS('Unbought products')
EVALUATE
'Unbought products'
EVALUATE
{[Unbought products]}
Zwraca tabelę zdefiniowaną w zapytaniu DAX, aby wyświetlić niekupione produkty z dodatkową kolumną odwołującą się do zdefiniowanych zmiennych. measure jest również definiowana and oceniana dla count wierszy niewyprzedanych produktów.
DEFINE
MEASURE 'Pick a sales measure'[Orders] = DISTINCTCOUNT('Sales Order'[Sales Order])
MEASURE 'Pick a sales measure'[Customers] = CALCULATE(
COUNTROWS(Customer),
FILTER(
'Sales',
[Orders] > 0
)
)
MEASURE 'Pick a sales measure'[Orders per Customer] = DIVIDE(
[Orders],
[Customers],
0
)
EVALUATE
SUMMARIZECOLUMNS(
'Date'[Fiscal Year],
"Orders", [Orders],
"Customers", [Customers],
"Orders per Customer", [Orders per Customer]
)
Zwraca tabelę oceniającą trzy zdefiniowane miary, aby pokazać wyniki według fiskalnego year. All miary istnieją również w modelu, and Zamówienia na klienta są modyfikowane w zapytaniu DAX.
Dobrze zdefiniowane zapytanie DAX można sparametryzować and, a następnie używać w and, przy jedynie zmianach w parametrze values.
Metoda execute
Odwołuj się do parametrów XMLA, prefiksując nazwę parametru z znakiem @
. Dowolne miejsce w składni, gdzie dozwolone jest użycie value, można zastąpić value z wywołaniem parametru.
All parametry XMLA są wpisywane jako tekst.
Ważne
Parametry zdefiniowane w sekcji parametrów andnot używane w elemencie <STATEMENT>
generate w odpowiedzi error w XMLA.
Parametry używane andnot zdefiniowane w elemecie <Parameters>
generate odpowiedzi error w języku XMLA.
Zdarzenia
31 mar, 23 - 2 kwi, 23
Największe wydarzenie szkoleniowe usługi Fabric, Power BI i SQL. 31 marca – 2 kwietnia. Użyj kodu FABINSIDER, aby zaoszczędzić $400.
Zarejestruj się już dziśSzkolenie
Ścieżka szkoleniowa
Brug DAX i Power BI Desktop - Training
Dette læringsforløb introducerer DAX (Data Analysis Expressions) og giver dig grundlæggende færdigheder, der kræves for at forbedre semantiske modeller med beregninger. Først beskrives Power BI Desktop-modelstrukturen, og hvordan den kan udvides med DAX-beregninger. Derefter kommer der en beskrivelse af, hvordan du kan skrive DAX-formler, samt de forskellige typer modelberegninger, herunder beregnede tabeller og kolonner og målinger. Begrebet evalueringskontekster introduceres, og i de efterfølgende lektion
Certyfikacja
Microsoft Certified: Power BI Data Analyst Associate - Certifications
Demonstrer metoder og bedste fremgangsmåder, der er i overensstemmelse med forretningsmæssige og tekniske krav til modellering, visualisering og analyse af data med Microsoft Power BI.