Tworzenie ciągów formatu dynamicznego dla miar

DOTYCZY: program Power BI Desktop usługa Power BI

Za pomocą ciągów formatu dynamicznego dla miar można określić, jak miary pojawiają się w wizualizacjach, warunkowo stosując ciąg formatu z oddzielnym wyrażeniem języka DAX.

Uwaga

Ciągi formatu dynamicznego dla miar są obecnie dostępne w wersji zapoznawczej. W wersji zapoznawczej prawdopodobnie zmienią się funkcje i dokumentacja.

Ciągi formatu dynamicznego przezwyciężyć nieodłączną wadę korzystania z funkcji FORMAT. Oznacza to, że z formatem nawet numeryczne typy danych są zwracane jako ciąg, który może nie działać z wizualizacjami, które wymagają wartości liczbowych, takich jak wykresy. W przypadku używania ciągów formatu dynamicznego miara zachowuje swój typ danych i nie jest zmuszona do zmiany typu danych ciągu. Dotyczy to różnych ciągów formatu miary w zależności od kontekstu.

Ciągi formatu dynamicznego mogą być również używane z grupami obliczeń. Te same wzorce języka DAX, które współpracują z grupami obliczeń, mogą być również używane w ciągach formatu dynamicznego dla miar, ale zakres jest ograniczony do poszczególnych miar zamiast wszystkich miar w modelu. Aby dowiedzieć się więcej, zobacz Grupy obliczeń — ciągi formatu dynamicznego.

Tworzenie ciągów formatu dynamicznego

Aby utworzyć ciąg formatu dynamicznego

  1. W okienku Dane wybierz miarę, dla której chcesz określić ciąg formatu dynamicznego.

  2. W polu >Listy Format wstążki>Narzędzia miary wybierz pozycję Dynamiczny. Po lewej stronie paska formuły języka DAX zostanie wyświetlone nowe pole listy z wybraną pozycją Format . Ta lista rozwijana umożliwia przełączanie się między wyrażeniem języka DAX miary statycznej a wyrażeniem języka DAX w formacie dynamicznym. Niezależnie od ciągu formatu statycznego, który był używany przed przełączeniem na dynamiczny, jest wstępnie wypełniany jako ciąg na pasku formuły języka DAX.

    Zrzut ekranu przedstawiający listę rozwijaną Format.

  3. Zastąp ciąg wyrażeniem języka DAX, które zwraca prawidłowy ciąg formatu miary. Na przykład następujące wyrażenie wyszukuje ciąg formatu waluty, którego chcemy użyć w tabeli "Ciągi formatu waluty kraju":

    Zrzut ekranu przedstawiający wyrażenie miary formatu dynamicznego.

  4. Sprawdź, czy ciąg formatu dynamicznego działa w wizualizacji.

    Aby usunąć ciąg formatu dynamicznego i wrócić do używania ciągu formatu statycznego, w polu listy Format sekcji >Formatowanie wybierz inną opcję formatu. Ponieważ nie ma cofnij tej akcji, zostanie wyświetlone okno dialogowe z pytaniem, czy chcesz kontynuować. Jeśli chcesz ponownie wrócić do używania ciągu formatu dynamicznego, musisz ponownie wprowadzić wyrażenie języka DAX.

    Zrzut ekranu przedstawiający ostrzeżenie o zmianie formatu.

Przykład

Najlepszym sposobem na poznanie nowej funkcji jest wypróbowanie jej samodzielnie. Możesz to zrobić za pomocą przykładowego pliku Adventure Works 2020 PBIX dostępnego w przykładowym modelu języka DAX. Korzystając z przykładowego modelu, możesz dodać konwersję walut, aby pokazać przekonwertowaną kwotę sprzedaży według roku. Po pobraniu otwórz plik w programie Power BI Desktop.

Tworzenie nowych tabel

Przykładowy model nie zawiera wszystkich danych niezbędnych do utworzenia ciągów formatu dynamicznego i używania ich. Aby rozpocząć, najpierw musisz dodać dwie tabele.

  1. Na wstążce Narzędzia główne wybierz pozycję Wprowadź dane.

  2. W oknie dialogowym Tworzenie tabeli wprowadź następującą nazwę tabeli, a następnie skopiuj i wklej następującą tabelę:

    Nazwa tabeli: Ciągi formatu waluty kraju

    Kraj Waluta Formatuj
    Australia Dolar AU$#,0.00
    Kanada Dolar C$#,0,00
    Dania Krone kr#,0
    Strefa euro Euro € #,0,00
    Japonia Yen } #,0
    Szwecja Krona kr#,0
    Szwajcaria Franc PLN#,0.00
    Zjednoczone Królestwo Funt £ #,0
    Stany Zjednoczone Dolar US$#,0,00
  3. Sprawdź, czy tabela wygląda poprawnie, a następnie kliknij przycisk Załaduj.

    Zrzut ekranu przedstawiający okno dialogowe Tworzenie tabeli.

  4. Powtórz poprzednie kroki dla następującej tabeli:

    Nazwa tabeli: Roczne średnie kursy wymiany

    Kraj Waluta Year (Rok) Średni kurs wymiany rocznej
    Australia Dolar 2022 1.442
    Australia Dolar 2021 1.332
    Australia Dolar 2020 1.452
    Australia Dolar 2019 1.439
    Australia Dolar 2018 1.34
    Australia Dolar 2017 1.358
    Kanada Dolar 2022 1.301
    Kanada Dolar 2021 1.254
    Kanada Dolar 2020 1.341
    Kanada Dolar 2019 1.327
    Kanada Dolar 2018 1.297
    Kanada Dolar 2017 1.35
    Dania Krone 2022 7.077
    Dania Krone 2021 6.29
    Dania Krone 2020 6.538
    Dania Krone 2019 6.67
    Dania Krone 2018 6.319
    Dania Krone 2017 6.864
    Strefa euro Euro 2022 0.951
    Strefa euro Euro 2021 0.846
    Strefa euro Euro 2020 0.877
    Strefa euro Euro 2019 0.893
    Strefa euro Euro 2018 0.848
    Strefa euro Euro 2017 0.923
    Japonia Yen 2022 131.454
    Japonia Yen 2021 109.817
    Japonia Yen 2020 106.725
    Japonia Yen 2019 109.008
    Japonia Yen 2018 110.424
    Japonia Yen 2017 116.667
    Szwecja Krona 2022 10.122
    Szwecja Krona 2021 8.584
    Szwecja Krona 2020 9.205
    Szwecja Krona 2019 9.457
    Szwecja Krona 2018 8.703
    Szwecja Krona 2017 8.894
    Szwajcaria Franc 2022 0.955
    Szwajcaria Franc 2021 0.914
    Szwajcaria Franc 2020 0.939
    Szwajcaria Franc 2019 0.994
    Szwajcaria Franc 2018 0.979
    Szwajcaria Franc 2017 1.024
    Zjednoczone Królestwo Funt 2022 0.811
    Zjednoczone Królestwo Funt 2021 0.727
    Zjednoczone Królestwo Funt 2020 0.779
    Zjednoczone Królestwo Funt 2019 0,784
    Zjednoczone Królestwo Funt 2018 0.75
    Zjednoczone Królestwo Funt 2017 0.808

Tworzenie kolumny Year

W istniejącej tabeli Date (Data) potrzebna jest nowa kolumna Rok.

  1. W widoku Model kliknij prawym przyciskiem myszy tabelę Date (Data ), a następnie wybierz pozycję Nowa kolumna.

  2. Na pasku formuły języka DAX wprowadź następujące wyrażenie: Year = YEAR([Date]), a następnie naciśnij klawisz Enter.

    Zrzut ekranu przedstawiający formułę Year na pasku formuły języka DAX.

Utwórz relacje

Relacje są potrzebne między nowymi tabelami Średnia roczna kurs wymiany i Ciągi formatu waluty kraju oraz między tabelą Yearly Average Exchange Rates (Średnie kursy wymiany) i istniejącą tabelą Date (Data).

  1. Jeśli dla relacji zastosowano autowykrywanie, relacja między ciągami formatu waluty kraju i średnimi kursami wymiany w kolumnie Country mogła zostać utworzona dla Ciebie. Jeśli nie, utwórz tę relację:

    • Tabela 1. Roczne średnie kursy wymiany
    • Tabela 1 Kolumna: Kraj
    • Kardynalność: Wiele do jednego
    • Tabela 2. Ciągi formatu waluty kraju
    • Tabela 2 Kolumna: Kraj
    • Uaktywnij tę relację: Tak
    • Kierunek filtrowania krzyżowego: pojedynczy

    Relacja powinna wyglądać następująco:

    Zrzut ekranu przedstawiający właściwości relacji między ciągami formatu waluty kraju i średnimi kursami wymiany rocznej.

  2. Jeśli dla relacji zastosowano autowykrywanie, może zostać utworzona relacja między ciągami formatu waluty kraju i obszarem Sales w kolumnie Kraj . Ta relacja nie jest jednak poprawna dla naszego modelu. W widoku modelu usuń tę relację.

  3. Zamiast tego utwórz relację między rocznymi średnimi kursamiwymiany i datą w kolumnie Year.

    • Tabela 1. Roczne średnie kursy wymiany
    • Tabela 1 Kolumna: Rok
    • Kardynalność: wiele do wielu
    • Tabela 2. Data
    • Tabela 2 Kolumna: Rok
    • Uaktywnij tę relację: Tak
    • Kierunek filtrowania krzyżowego: pojedynczy ("Roczna średnia kurs wymiany" filtruje wartość "Data")

    Relacja powinna wyglądać następująco:

    Zrzut ekranu przedstawiający relację.

  4. Zapisz model.

Tworzenie tabeli grupy miar

Grupa miar ułatwia organizowanie różnych miar przez ich posiadanie w jednej tabeli.

  1. Na wstążce Narzędzia główne wybierz pozycję Wprowadź dane.

  2. W oknie dialogowym Tworzenie tabeli pozostaw wartości puste. Nadaj tabeli nazwę Miary Sales, a następnie kliknij pozycję Załaduj. Ta tabela zawiera nowe miary.

Tworzenie miar

  1. W okienku Dane rozwiń i kliknij prawym przyciskiem myszy pozycję Miary sprzedaży, a następnie wybierz pozycję Nowa miara. Wprowadź następujące wyrażenie języka DAX na pasku formuły języka DAX, a następnie naciśnij klawisz Enter:

    Sales Amount = SUM(Sales[Sales Amount])
    

    Powinien on wyglądać następująco:

    Zrzut ekranu przedstawiający formułę języka DAX miary sales amount (Kwota sprzedaży).

  2. W obszarze Miary Sprzedaż kliknij prawym przyciskiem myszy pozycję Kolumna1, a następnie wybierz polecenie Ukryj w widoku raportu. Spowoduje to zmianę miar Sales na grupę miar, która jest teraz wyświetlana w górnej części okienka Dane z ikoną grupy miar, w następujący sposób:

    Zrzut ekranu przedstawiający kolumnę Column1 w grupie miar Sprzedaż.

  3. Teraz możesz utworzyć miarę do obliczenia kursu wymiany. Kliknij prawym przyciskiem myszy pozycję Miary Sprzedaż, wybierz pozycję Nowa miara, wprowadź następujące wyrażenie na pasku formuły języka DAX, a następnie naciśnij klawisz Enter:

    Exchange Rate (Yearly Avg) = 
    IF (
        ISBLANK ( SELECTEDVALUE ( 'Country Currency Format Strings'[Country] ) )
            || SELECTEDVALUE ( 'Country Currency Format Strings'[Country] ) = "United States",
        1,
        AVERAGE ( 'Yearly Average Exchange Rates'[Yearly Average Exchange Rate] )
    )
    
    

    Powinien wyglądać następująco: Zrzut ekranu przedstawiający formułę języka dax kursu wymiany w edytorze języka DAX.

  4. Teraz utworzysz kolejną miarę, aby przekonwertować miarę Sales Amount na inne waluty. Kliknij prawym przyciskiem myszy pozycję Miary Sprzedaż, wybierz pozycję Nowa miara, wprowadź następujące wyrażenie na pasku formuły języka DAX, a następnie naciśnij klawisz Enter:

        Converted Sales Amount = 
        SUMX('Date',
        CALCULATE( [Sales Amount] * [Exchange Rate (Yearly Avg)]))
    
    

    Grupa miar miar Sales powinna teraz wyglądać następująco: Zrzut ekranu przedstawiający formułę miary Przekonwertowana kwota sprzedaży.

Tworzenie raportu

  1. Przejdź do widoku raportów. Dodaj nową, pustą stronę do raportu.

  2. Dodaj wizualizację wykresu liniowego do nowej strony raportu. Ta wizualizacja służy do wyświetlenia miary przed dodaniem ciągu formatu dynamicznego dla miar.

  3. W okienku >Dane Miary Sprzedaż wybierz pozycję Przekonwertowana kwota sprzedaży. Nie klikając gdziekolwiek indziej, wybierz również pozycję Year (Rok) w tabeli Date (Data).

    Zrzut ekranu przedstawiający wizualizację Wykres liniowy w widoku raportu.

  4. Skopiuj i wklej wizualizację, aby mieć dwie wizualizacje wykresu liniowego. Zmień drugą wizualizację wykresu liniowego na wizualizację tabeli, a następnie przenieś ją poniżej wykresu liniowego w następujący sposób:

    Zrzut ekranu przedstawiający wizualizację Kopiuj wykres liniowy.

  5. Dodaj wizualizację fragmentatora do strony raportu. Na wstążce Format dodaj pole Country (Kraj ) z tabeli Country Currency Format Strings (Ciągi formatu waluty kraju) do fragmentatora.

    Zrzut ekranu przedstawiający fragmentator Country (Kraj).

  6. Zmień kolejność wizualizacji, dopóki nie będą miały lepszego układu, w następujący sposób:

    Zrzut ekranu przedstawiający zmienianie kolejności wizualizacji.

  7. Chociaż nie jest to wymagane, możesz zmienić właściwości wizualizacji, aby utworzyć raport bardziej atrakcyjny:

    Fragmentator

    • Ustawienia fragmentatora: wybór pojedynczy
    • Rozmiar i styl, wypełnienie: 10 pikseli, wszystkie krawędzie
    • Rozmiar i styl, Obramowanie wizualne: jasnoszary, 10 pikseli zaokrąglonych narożników
    • Ustawienia fragmentatora, Styl: Kafelek
    • Nagłówek fragmentatora: wyłączone
    • Wartości, obramowanie: Lewa, #333333, 6 szerokości linii

    Table

    • Rozmiar i styl, wypełnienie: 10 pikseli, wszystkie krawędzie
    • Rozmiar i styl, Obramowanie wizualne: jasnoszary, 10 pikseli zaokrąglonych narożników
    • Siatka, Poziome linie siatki: Biała, 2 szerokość
    • Siatka, pionowe linie siatki: biała, 2 szerokość
    • Siatka, obramowanie: białe
    • Siatka, opcje: 2 dopełnienie wierszy
    • Wartości, Wartości: kolor tła #F6F4F4
    • Wartości, Wartości: alternatywny kolor tła #F6F4F4
    • Nagłówki kolumn, tekst: pogrubiony, kolor tekstu biały, kolor tła #0D6ABF

    Wykres liniowy

    • Rozmiar i styl, wypełnienie: 10 pikseli, wszystkie krawędzie
    • Rozmiar i styl, Obramowanie wizualne: jasnoszary, 10 pikseli zaokrąglonych narożników
    • Tytuł, podtytuł: włączone
    • Oś Y, Tytuł: Wyłączone
    • Oś Y: wyłączone
    • Znaczniki: włączone
    • Etykiety danych: włączone
    • Etykiety danych, wartości: pogrubienie, niebieski

    Kanwa (opcjonalnie)

    • Tło kanwy: jasnoszary, przezroczystość 85%

    Dzięki tym właściwościom wizualizacji uzyskasz miłą stronę raportu, w następujący sposób:

    Zrzut ekranu przedstawiający tło szarej kanwy wizualizacji.

Tworzenie ciągu formatu dynamicznego

Wybranie różnych nazw krajów we fragmentatorze powoduje wyświetlenie wyników miary Przekonwertowana kwota sprzedaży w wizualizacjach, ale nie w odpowiednim formacie dla tego kraju lub regionu.

  1. W okienku >Dane Miary Sprzedaż wybierz pozycję Przekonwertowana kwota sprzedaży.

  2. Na wstążce Narzędzia miary kliknij listę rozwijaną Format , a następnie wybierz pozycję Dynamiczne.

  3. Pole listy rozwijanej z lewej strony paska formuły powinno teraz powiedzieć Format, a formuła na pasku formuły powinna mieć ciąg formatu. Zastąp ciąg formatu następującym wyrażeniem języka DAX, a następnie naciśnij klawisz Enter:

    SELECTEDVALUE ( 'Country Currency Format Strings'[Format], "\$#,0.00;(\$#,0.00);\$#,0.00" )
    

    Powinien on wyglądać następująco:

    Zrzut ekranu przedstawiający formułę dynamiczną Ciągi formatu waluty kraju.

  4. Wybierz inny kraj we fragmentatorze. Wizualizacje tabeli i wykresu liniowego powinny teraz wyświetlać przekonwertowaną kwotę waluty w poprawnym formacie dla tego kraju lub regionu. Spróbuj wybrać inny kraj/region we fragmentatorze, aby zobaczyć, jak zmieniają się wizualizacje.

    Zrzut ekranu przedstawiający wizualizację Przekonwertowana kwota sprzedaży.

  5. Zapisz model.

Znane problemy i zagadnienia

Podczas korzystania z wersji zapoznawczej są rozwiązywane następujące problemy i ograniczenia:

  • Wizualizacje mają opcje formatowania, które mogą mieć wpływ na sposób wyświetlania ciągu formatu. Jeśli formatowanie jest nieoczekiwanie wyświetlane w wizualizacji, przejdź do opcji Format wizualizacji, wyszukaj pozycję Jednostki wyświetlania i zmień je z Auto na Brak.

    Zrzut ekranu przedstawiający jednostki wyświetlania z automatycznego do żadnego.

  • Sama miara może się odwoływać bezpośrednio w ciągu formatu dynamicznego, używając jej nazwy, takiej jak [Measure A], lub pośrednio za pomocą polecenia SELECTEDMEASURE().

  • Ciągi formatu dynamicznego dla miar są przeznaczone tylko dla miar modelu. Miary raportu, które można dodać do raportu programu Live Connect, nie mogą mieć ciągów formatu dynamicznego dla miar.

  • W przypadku trybu DirectQuery dla usług Analysis Services po kliknięciu przycisku Wprowadź zmiany w tym modelu w raporcie połączenia na żywo powoduje przesunięcie połączenia z zapytaniem bezpośrednim za pośrednictwem usług Analysis Services. Ogólnie rzecz biorąc, można wprowadzić zmiany w ciągach formatu miar modelu zdalnego. Podczas korzystania z wersji zapoznawczej:

    • Zdalne miary modelu ze zdefiniowanymi ciągami formatu dynamicznego nie mogą wprowadzać zmian w ciągu formatu statycznego lub w innym wyrażeniu języka DAX w formacie dynamicznym.
    • Miary modelu zdalnego nie można zmienić z ciągu formatu statycznego na wyrażenie języka DAX w formacie dynamicznym zdefiniowane w modelu lokalnym.
    • Lokalne miary modelu nie mogą używać ciągów formatu dynamicznego dla miar.