12.2022 | powerbi | Today | Filtrowanie daty
Jednym z problemów, przy wykorzystaniu filtrów czasowych jest fakt, że pokazują one daty "do przodu" tzn. wybór dat nie kończy się na dniu bieżącym, ale daje możliwość wyboru dat z przyszłości.
Przykład filtra, pozwalającego na wybór dnia:
Filtr jest zbudowany na bazie tabeli dat, która stanowi popularny sposób łączenia danych per data:
Widzimy, że pokazany filtr zawiera daty wybiegające znacznie w przyszłość, czego nie chcemy, bo ich wybór nie wnosi żadnej wartości, a wręcz jest mylący dla użytkownika.
Oczywiście możemy ręcznie ograniczyć te zakresy wprowadzając odpowiedni filtr, w którym zaznaczymy np. aby zakres dat był do końca bieżącego miesiąca.
Ma to jednak dwie podstawowe wady:
Dlatego najlepszym rozwiązaniem jest wprowadzenie zmiennej, która określa daty przyszłe i dalej jest wykorzystywana jako filtr.
W tabeli dat (czasowej) wprowadzamy dodatkową zmienną (new measure):
Formuła do wprowadzenia:
DateOffset = DATEDIFF(TODAY(),'Date'[Date],DAY)
DateOffset zwraca 0 lub liczbę mniejszą od 0 dla wartości - odpowiednio - obecnej oraz historycznych. Wartość ujemna przedstawia różnicę pomiędzy datą przeszłą a datą obecną.
Nasza tabela dat wygląda teraz następująco:
Ostatni krok to dodanie filtra do sekcji filtrów. Filtr ten bazuje oczywiście na nowo utworzonej wartości DateOffset:
W efekcie nasze filtry czasowe przyjmą wygląd jak poniżej:Wartość aktualizuje się za każdym razem, zatem pozostają nam w widoku tylko aktualne daty.
Wdrażam rozwiązania analityczne, buduję raporty zarządcze i pomagam zrozumieć dane.
Korzystam z Google Marketing Cloud, Microsoft Power BI, Google Cloud oraz Python.
Pracowałem m.in. dla Credit Suisse, Phonak, Hansaton, Unitron, Nestle, IBM, Play.
Jestem współtwórcą grupy Hexe Capital SA.
Zapraszam do lektury i współpracy.
Krzysztof Surowiecki
Chcę porozmawiać o współpracy →Moje certyfikaty