Udostępnij przez


Tworzenie grup obliczeń

Grupy obliczeń mogą znacznie zmniejszyć liczbę nadmiarowych miar, które należy utworzyć, umożliwiając definiowanie formuł języka DAX (Data Analysis Expressions) jako elementów obliczeniowych. Elementy obliczeń można zastosować do istniejących miar w modelu. Więcej informacji o grupach obliczeń jest dostępnych w artykule Grupy obliczeń .

Dodawanie nowej grupy obliczeń w widoku modelu

W usłudze Power BI podczas edytowania modelu semantycznego przejdź do widoku Model i wybierz przycisk Grupa obliczeń na wstążce. Jeśli nie jesteś jeszcze w Eksploratorze modeli, okienko Dane zostanie otwarte w widoku Model.

Zrzut ekranu przedstawiający przycisk grupy obliczeń na wstążce.

Jeśli właściwość zniechęć do miar niejawnych jest wyłączona, zostanie wyświetlony monit z oknem dialogowym, aby włączyć tę właściwość w celu włączenia tworzenia grupy obliczeń.

Zrzut ekranu przedstawiający okno dialogowe z monitem o włączenie miar niejawnych.

Miara niejawna występuje, gdy w widoku Raport użyjesz kolumny danych z okienka Dane bezpośrednio w wizualizacji. Wizualizacja umożliwia agregowanie jej jako SUM, AVERAGE, MIN, MAX lub innej podstawowej agregacji, która staje się miarą implicytną. Gdy grupa obliczeń zostanie dodana do modelu, usługa Power BI zniechęca do tworzenia miar niejawnych, nie wyświetlając już symbolu sumowania obok kolumn danych w okienku Dane i blokuje dodawanie kolumn danych do wizualizacji bezpośrednio jako wartości. Istniejące miary niejawne utworzone już w wizualizacjach nadal działają. Właściwość Zniechęć do miar niejawnych musi być włączona, ponieważ elementy obliczeń nie mają zastosowania do miar niejawnych. Elementy obliczeń mają zastosowanie tylko do miar lub miar jawnych.

Zrzut ekranu przedstawiający widok raportu i tworzenie miar niejawnych.

Miara lub miara jawna występuje podczas tworzenia nowej miary i definiowania wyrażenia języka DAX w celu agregowania kolumny danych. Jawne miary mogą również mieć logikę warunkową i filtry, korzystając w pełni z możliwości języka DAX. Samouczek: możesz dowiedzieć się, jak tworzyć własne miary w programie Power BI Desktop.

Uwaga

Wyrażenia elementów kalkulacji można zapisywać w celu ignorowania miar według ich nazwy lub typu danych w sytuacjach, gdy nie chcemy, aby miary te były zmieniane przez element kalkulacji.

Po wybraniu opcji Tak, aby włączyć właściwość zniechęcania do miar niejawnych, zostanie dodana grupa obliczeń i można rozpocząć definiowanie wyrażenia DAX dla pierwszego elementu obliczeniowego w pasku formuły DAX. Okno dialogowe nie zostanie wyświetlone, jeśli masz już włączoną opcję zniechęcania do stosowania miar niejawnych.

SELECTEDMEASURE to funkcja języka DAX, która działa jako symbol zastępczy miary w wyrażeniu elementu obliczania. Możesz dowiedzieć się więcej o funkcji SELECTEDMEASURE języka DAX z jego artykułu.

Zrzut ekranu przedstawiający pasek formuły języka DAX i grupę obliczeń.

Dodawanie grupy obliczeń przy użyciu widoku TMDL usługi Power BI

Grupę obliczeń można utworzyć w widoku Języka definicji modelu tabelarycznego lub języka TMDL programu Power BI Desktop. Edytuj model semantyczny i użyj tego skryptu TMDL.

createOrReplace

	table 'Calculation group'

		calculationGroup
			precedence: 1

			calculationItem 'Calculation item' = SELECTEDMEASURE()

		column 'Calculation group column'
			dataType: string
			summarizeBy: none
			sourceColumn: Name
			sortByColumn: Ordinal

			annotation SummarizationSetBy = Automatic

		column Ordinal
			dataType: int64
			formatString: 0
			summarizeBy: sum
			sourceColumn: Ordinal

			annotation SummarizationSetBy = Automatic

Przykład analizy czasowej

Istnieje przykład analizy czasowej grupy obliczeń dostępnej w artykule Grupy obliczeń w modelach tabelarycznych usług Analysis Services, którego możemy użyć do wypełnienia niektórych elementów obliczeniowych. Przykład można dodać do dowolnego modelu z tabelą Date lub pobrać Adventure Works DW 2020 PBIX z przykładowego modelu DAX z DAX.

Zmienianie nazwy grupy obliczeń

Aby zmienić nazwę grupy obliczeń, kliknij ją dwukrotnie w okienku Dane lub możesz ją wybrać i użyć okienka Właściwości .

Zrzut ekranu przedstawiający sposób zmieniania nazwy grupy obliczeń.

Zmienianie nazwy kolumny grupy obliczeń

Aby zmienić nazwę kolumny grupy obliczeń, kliknij ją dwukrotnie w okienku Dane lub możesz wybrać ją i użyć okienka Właściwości . Wybrana kolumna to kolumna używana w wizualizacjach lub slicerach w celu zastosowania konkretnego elementu obliczeniowego.

Zrzut ekranu przedstawiający sposób zmieniania nazwy kolumny grupy obliczeń.

Zmienianie nazwy elementu obliczania

Pierwszy element obliczeń został utworzony jako SELECTEDMEASURE(), aby można było zmienić jego nazwę, klikając dwukrotnie lub używając okienka Właściwości .

Zrzut ekranu przedstawiający sposób zmieniania nazwy elementu obliczania.

Tworzenie większej liczby elementów obliczeń

Aby utworzyć więcej elementów obliczeniowych, możesz użyć menu kontekstowego kliknij prawym przyciskiem myszy sekcji Elementy obliczeń lub samej grupy obliczeń, a następnie wybierz pozycję Nowy element obliczania lub użyj okienka Właściwości sekcji Elementy obliczeń .

Zrzut ekranu przedstawiający sposób tworzenia nowego elementu obliczania.

Po dodaniu wszystkich elementów obliczeń analizy czasowej grupa obliczeń wygląda jak na poniższej ilustracji.

Zrzut ekranu przedstawiający grupę obliczeń ze wszystkimi elementami obliczeń analizy czasowej.

Zwróć uwagę na ikony czerwonego trójkąta wskazujące błędy. Występują błędy, ponieważ przykładowe wyrażenia języka DAX używają tabeli Date o nazwie DimDate, więc muszę zaktualizować wyrażenia języka DAX, aby zamiast tego użyć nazwy Date . Na poniższej ilustracji przedstawiono wyrażenie języka DAX przed korektą.

Zrzut ekranu przedstawiający nieprawidłowe wyrażenie języka DAX.

Po wprowadzeniu poprawki do wyrażenia języka DAX błąd zniknie.

Zrzut ekranu przedstawiający poprawione wyrażenie języka DAX.

Po wprowadzeniu poprawek dla każdego błędu w elementach obliczeń ikony ostrzeżenia czerwonego trójkąta nie są już wyświetlane.

Zrzut ekranu przedstawiający poprawione wyrażenia języka DAX w obszarze elementów obliczeń.

Zmienianie kolejności elementów obliczeń

Aby zmienić kolejność elementów obliczeń w dowolny preferowany sposób logiczny, możesz wybrać sekcję Elementy obliczeń w okienku Właściwości lub kliknąć prawym przyciskiem myszy menu kontekstowe elementu obliczeń, aby przenieść go w górę lub w dół na liście.

Zrzut ekranu przedstawiający zmienianie kolejności elementów obliczeń.

Dodawanie ciągu formatu dynamicznego do elementu obliczania

Elementy obliczeń domyślnie używają formatowania bazowej miary. Zamiast tego możemy chcieć wyświetlić %YOY% jako wartość procentową. W tym celu wybierz element obliczania YOY% , a następnie włącz ciąg formatu dynamicznego w okienku właściwości, co umożliwia określenie wyrażenia języka DAX w celu utworzenia ciągu formatu. W tym przykładzie nie wymaga żadnych elementów warunkowych, więc po prostu #,#0.00% zmienia format na wartość procentową po zastosowaniu tego elementu obliczeń, jak pokazano na poniższej ilustracji.

Zrzut ekranu przedstawiający zmienianie formatu bazowych elementów danych.

Używanie grupy obliczeń w raportach

Aby użyć nowej grupy obliczeń w raporcie, przejdź do widoku Raport , utwórz wizualizację Macierz i dodaj następujące elementy:

  1. Kolumna Month (Miesiąc) z tabeli Date (Data) do wierszy
  2. Obliczanie czasu z grupy obliczeń analizy czasowej do kolumn
  3. Orders measure to the Values (Zamówienia) do wartości

Uwaga

Jeśli miara Orders nie została utworzona w modelu, możesz skorzystać z innej miary lub przejść do wstążki i wybrać pozycję Nowa miara, aby utworzyć ją za pomocą tego wyrażenia języka DAX.

Orders = DISTINCTCOUNT('Sales Order'[Sales Order])

Na poniższej ilustracji przedstawiono tworzenie wizualizacji.

Zrzut ekranu przedstawiający używanie grup obliczeń w raportach.

Elementy obliczeń w wizualizacji Kolumny w wizualizacji Macierz pokazują miary Orders pogrupowane według poszczególnych elementów obliczeń. Można również zastosować pojedynczy element obliczeń do wielu miar, dodając kolumnęgrupy obliczeń do wizualizacji Fragmentator .

Zrzut ekranu przedstawiający stosowanie pojedynczych elementów obliczeń do wielu miar.

Używanie elementu obliczania w miarach

Możesz utworzyć nową miarę z wyrażeniem używającym elementu obliczania dla określonej miary.

Aby utworzyć miarę [Orders YOY%], możesz użyć elementu obliczeniowego z funkcją CALCULATE.

Orders YOY% = 
    CALCULATE(
        [Orders],
        'Time Intelligence'[Time Calculation] = "YOY%"
    )

Ustawianie pierwszeństwa grupy obliczeń

Na koniec, jeśli do modelu zostanie dodanych więcej grup obliczeniowych, możesz określić kolejność, w jakiej mają zastosowanie do miary z właściwością pierwszeństwa. Pierwszeństwo grupy obliczeń można dostosować w okienku właściwości sekcji Grupy obliczeń , jak pokazano na poniższej ilustracji.

Zrzut ekranu przedstawiający ustawianie pierwszeństwa grupy obliczeń.

Więcej informacji na temat pierwszeństwa grup obliczeń można dowiedzieć się w artykule Grupy obliczeń w modelach tabelarycznych usług Analysis Services.

Wyrażenia wyboru dla grup obliczeniowych

Możesz ustawić wyrażenia wyboru dla grup obliczeń, aby uzyskać szczegółową kontrolę nad tym, co grupa obliczeń zwraca, jeśli użytkownicy dokonają wielu, nieprawidłowych lub nie wybranych opcji w grupie obliczeń. Zobacz wyrażenia wyboru.

Rozważania

Miary modelu zmieniają się na typ danych wariantu

Gdy tylko grupa obliczeń zostanie dodana do modelu semantycznego, raporty usługi Power BI używają typu danych wariantu dla wszystkich miar. Jeśli później wszystkie grupy obliczeń zostaną usunięte z modelu, miary zostaną ponownie przywrócone do oryginalnych typów danych.

Typ wariantu może powodować wyświetlenie błędu podczas ponownego użycia miary w dynamicznych ciągach formatu dla miar. Użyj funkcji DAX FORMAT, aby wymusić ponowne rozpoznanie miary typu wariant jako typ danych tekstowych.

FORMAT([Dynamic format string], "")

Alternatywnie możesz ponownie użyć swojego wyrażenia dla dynamicznych ciągów formatowania w funkcji zdefiniowanej przez użytkownika w języku DAX.

Błąd wizualny, gdy element obliczeniowy stosuje operację matematyczną w przypadku miary nieliczbowej

Miary nie numeryczne są często używane w przypadku dynamicznych tytułów wizualizacji oraz w dynamicznych ciągach formatowania miar. Błąd Nie można przekonwertować wartości ... typu tekstowego na typ liczbowy pojawia się na wizualizacjach, na które ma wpływ. Wyrażenie elementu obliczeniowego może uniknąć tego błędu, dodając sprawdzenie, czy miara jest liczbowa przed zastosowaniem operacji matematycznej. Użyj funkcji ISNUMERIC w elemencie obliczeń.

Calculation item safe = 
    IF ( 
        // Check the measure is numeric
        ISNUMERIC( SELECTEDMEASURE() ),
            SELECTEDMEASURE() * 2,
            // Don't apply the calculation on a non-numeric measure
            SELECTEDMEASURE()
        )

W poniższych artykułach opisano więcej na temat modeli danych, a także szczegółowo opisano tryb DirectQuery.

Artykuły trybu DirectQuery: