Wprowadzenie
Za pomocą wyrażeń analizy danych (DAX) można dodać trzy typy obliczeń do modelu semantycznego:
- tabele obliczeniowe,
- kolumny obliczeniowe,
- miary.
Uwaga
Język DAX umożliwia także definiowanie reguł zabezpieczeń na poziomie wiersza (RLS), które są wyrażeniami wymuszającymi filtry w tabelach modelu. Jednak reguły nie są uważane za obliczenia modelu, dlatego wykraczają poza zakres tego modułu. Aby uzyskać więcej informacji, zobacz Zabezpieczenia na poziomie wiersza (RLS) w usłudze Power BI.
tabele obliczeniowe,
Możesz napisać formułę języka DAX, aby dodać tabelę obliczeniową do modelu. Formuła może duplikować lub przekształcać istniejące dane modelu lub utworzyć serię danych w celu wygenerowania nowej tabeli. Dane tabeli obliczeniowej są zawsze importowane do modelu, dzięki czemu zwiększa rozmiar magazynu modelu i może wydłużyć czas odświeżania danych.
Uwaga
Tabela obliczeniowa nie może łączyć się z danymi zewnętrznymi. W tym celu należy użyć dodatku Power Query.
Tabele obliczeniowe mogą być przydatne w różnych scenariuszach:
- tabele dat,
- wymiary odgrywające role,
- analizy warunkowe,
Tabele dat
Tabele dat są wymagane do zastosowania specjalnych filtrów czasu, które są znane jako analiza czasowa. Funkcje analizy czasowej języka DAX działają poprawnie tylko po skonfigurowaniu tabeli dat. Gdy dane źródłowe nie zawierają tabeli dat, możesz utworzyć je jako tabele obliczeniowe przy użyciu CALENDAR
funkcji języka DAX lub CALENDARAUTO
.
wymiary odgrywające role,
Gdy dwie tabele modelu mają wiele relacji, może to być spowodowane tym, że model ma wymiar odgrywający role. Jeśli na przykład masz tabelę o nazwie Sales zawierającą dwie kolumny dat, OrderDateKey i ShipDateKey obie kolumny są powiązane z kolumną Date w tabeli Date . W tym przypadku tabela Date (Data ) jest opisana jako wymiar odgrywania roli, ponieważ może odgrywać rolę daty zamówienia lub daty wysyłki.
Modele usługi Microsoft Power BI zezwalają tylko na jedną aktywną relację między tabelami, które w diagramie modelu są przedstawione jako linia ciągła. Aktywna relacja jest domyślnie używana do propagowania filtrów, które w tym przypadku byłyby z tabeli Date do kolumny OrderDateKey w tabeli Sales . Wszystkie pozostałe relacje między tymi dwiema tabelami są nieaktywne. W diagramie modelu relacje są przedstawione jako linie przerywane. Nieaktywne relacje są używane tylko wtedy, gdy są one wyraźnie żądane w formule obliczeniowej USERELATIONSHIP
przy użyciu funkcji języka DAX.
Być może lepszy projekt modelu może mieć dwie tabele dat, z których każda ma aktywną relację z tabelą Sales . W ten sposób użytkownicy raportu mogą jednocześnie filtrować według daty zamówienia lub daty wysyłki. Tabela obliczeniowa może zduplikować dane tabeli Date (Data wysyłki), aby utworzyć tabelę Ship Date (Data wysyłki ).
analizy warunkowe,
Program Power BI Desktop obsługuje funkcję o nazwie parametry warunkowe. Utworzenie parametru warunkowego powoduje automatyczne dodanie tabeli obliczeniowej do modelu.
Parametry warunkowe umożliwiają użytkownikom raportów wybieranie lub filtrowanie według wartości przechowywanych w tabeli obliczeniowej. Formuły miar mogą używać wybranych wartości w znaczący sposób. Na przykład parametr warunkowy może zezwalać na wybranie hipotetycznego kursu wymiany walut przez użytkownika raportu, a miara może dzielić wartości przychodu (w lokalnej walucie) przez wybrany kurs.
W szczególności tabele obliczeniowe z parametrami warunkowymi nie mają relacji z innymi tabelami modelu, ponieważ nie są używane do propagowania filtrów. Z tego powodu są czasami nazywane tabelami rozłączonymi.
Kolumny obliczeniowe
Możesz napisać formułę języka DAX, aby dodać kolumnę obliczeniową do dowolnej tabeli w modelu. Formuła jest obliczana dla każdego wiersza tabeli i zwraca pojedynczą wartość. Po dodaniu do tabeli Tryb przechowywania importu formuła jest oceniana podczas odświeżania modelu semantycznego i zwiększa rozmiar magazynu modelu. Po dodaniu do tabeli w trybie magazynu DirectQuery formuła jest obliczana przez podstawową źródłową bazę danych po wykonaniu zapytania dotyczącego tabeli.
W okienku Pola kolumny obliczeniowe są oznaczone specjalną ikoną. W poniższym przykładzie przedstawiono pojedynczą kolumnę obliczeniową w tabeli Customer o nazwie Age (Wiek).
Miary
Możesz napisać formułę języka DAX, aby dodać miarę do dowolnej tabeli w modelu. Formuła ma na celu podsumowanie danych modelu. Podobnie jak w przypadku kolumny obliczeniowej, formuła musi zwracać pojedynczą wartość. W przeciwieństwie do kolumn obliczeniowych, które są oceniane w czasie odświeżania danych, miary są oceniane w czasie zapytania. Ich wyniki nigdy nie są przechowywane w modelu.
W okienku Pola miary są oznaczone ikoną kalkulatora. W poniższym przykładzie przedstawiono trzy miary w tabeli Sales( Koszt), Profit (Zysk) i Revenue (Przychód).
Czasami miary mogą być nazywane miarami jawnymi. Dla wyjaśnienia, miary jawne są obliczeniami modelu zapisanymi w języku DAX i zwykle nazywane po prosu miarami. Jednak istnieje również pojęcie miar niejawnych. Miary niejawne są kolumnami, które mogą być podsumowywane jako wizualizacje w uproszczony sposób, taki jak licznik, wartość minimalna i maksymalna itd. Miary niejawne można zidentyfikować w okienku Pola , ponieważ są one wyświetlane z symbolem sigma ( ∑ ).
Uwaga
Każdą kolumnę można na podsumować, a następnie dodać do wizualizacji. W związku z tym, czy są one wyświetlane z symbolem sigma, czy nie, po dodaniu ich do wizualizacji, można je skonfigurować jako miary niejawne.
Ponadto w modelowaniu tabel nie istnieje pojęcie miary obliczanej. Słowo obliczeniowa służy do opisywania tabel obliczeniowych i kolumn obliczeniowych, co odróżnia je od tabel i kolumn pochodzących z dodatku Power Query. W dodatku Power Query nie istnieje pojęcie miary niejawnej.