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!