Zmiana jednostek przy pomocy slicerów

Dzisiaj opiszę bardzo proste rozwiązanie, które umożliwia zmianę jednostek/walut używając slicerów. To rozwiązanie sprawi, że raport będzie jeszcze bardziej interaktywny i łatwiejszy w odbiorze. Z mojego doświadczenia mogę dodać, że klienci będą w stanie znaleźć ważne dla nich informacje znacznie szybciej. Efekt końcowy może wyglądać na przykład tak:

Po stworzeniu tabeli konwersji możliwości są praktycznie nieograniczone. Możesz użyć różnych walut, jednostek, miar. Ich liczba też nie jest w żaden sposób ograniczona.

W swoich raportach często używam przeliczania różnych walut w tym samym polu. Wygląda to tak:

Na potrzeby tego tutorialu pobrałem dane z tej strony.

Całość to dosłownie kilka kroków:

Najpierw, stwórz dodatkową tabelę z nazwami wszystkich jednostek np. USD and EUR, wolumen i sprzedaż itp.

Kliknij wprowadź dane:

Wprowadź jednostki, o które Ci chodzi:

Następnie stwórz nową miarę. Ten krok jest najważniejszy, ponieważ wszystkie kalkulacje będą działy się w kodzie DAX.

Jeśli używasz przykładowych danych z linku możesz użyć tej formuły:

Measure = IF(VALUES('Conversion 1'[Currencies]) = "USD", FORMAT(SUM('Sample data'[UnitCost]),"$#,##0.00;($#,##0.00)") ,FORMAT(SUM('Sample data'[UnitCost])*0.8,"#,##0.00€;(#,##0.00€)"))

 

Ta część sprawdza, która z walut/jednostek jest wybrana. Bazując na wyniku testu logicznego, możemy wybrać odpowiednią wartość:

VALUES('Conversion 1'[Currencies]) = "USD"

 

Jeśli wyfiltrowana jednostka to faktycznie USD, zwracamy:

 FORMAT(SUM('Sample data'[UnitCost]),"$#,##0.00;($#,##0.00)")

W przeciwnym wypadku, zwracamy:

 FORMAT(SUM('Sample data'[UnitCost])*0.8,"#,##0.00€;(#,##0.00€)"))

 

Po stworzeniu miary, ustawmy slicer używając nowej tabeli: 

Aby zobaczyć dane, najlepiej użyć karty z nową miarą:

Przy zmianie filtra, wartość sama się przelicza!

Aby stworzyć podobny efekt na wykresach, należy jedynie pamiętać o nieużywaniu funkcji FORMAT, która zwraca typ string.

Dzięki!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *