Filtrowanie TOP N w Power Pivot i Power BI (cz. 1) – interfejs i kolumna obliczeniowa

Istnieje wiele sposobów na przygotowanie filtra TOP N, który będzie działał w modelu danych (w Excel Power Pivot lub Power BI). Zacznijmy od jego wersji statycznej, aby w kolejnym wpisie przeczytać o możliwości dynamicznej zmiany liczby N parametrem.

Sposób 1 – filtrowanie tabeli przestawnej Excel lub wizualizacji Power BI

Najprostszy sposób na filtrowanie miar – wybór filtru top N z interfejsu – jest możliwy w sytuacji, gdy w wierszach tabeli przestawnej lub osi na wykresie Power BI posługujemy się polem filtrowanym. W naszym scenariuszu będzie to pole Klient.

Filtrowanie TOP N w Excelu

Filtrowanie TOP N w Power Pivot i Power BI (cz. 1) – interfejs i kolumna obliczeniowa 1

 

Filtrowanie TOP N w Power Pivot i Power BI (cz. 1) – interfejs i kolumna obliczeniowa 2

 

Filtrowanie TOP N w Power Pivot i Power BI (cz. 1) – interfejs i kolumna obliczeniowa 3

 

Filtrowanie TOP N w Power BI

Filtrowanie TOP N w Power Pivot i Power BI (cz. 1) – interfejs i kolumna obliczeniowa 4

Sposób 2 – utworzenie kolumny obliczeniowej w modelu danych Excel lub Power BI

Możemy utworzyć kolumnę obliczeniową, która będzie posiadała znacznik czy dany klient należy do TOP N czy nie. Rozwiązanie identycznie wygląda w Power Pivot i Power BI i składa się z następujących kroków (przykład dla modelu danych z tabelą sprzedażową Dane i Klienci):

  1. Utwórz miarę Sprzedaż Total:
Sprzedaż Total = SUM(Dane[Sprzedaż])
  1. W tabeli Klienci utwórz kolumnę obliczeniową
TOP10 = if(RANKX(ALL(Klienci);[Sprzedaż Total])<=10;"TOP10";"Pozostałe")

Formuła tworzy wirtualną tabelę wszystkich klientów, liczy dla nich Sprzedaż Total i sprawdza, czy miejsce rankingowe jest w pierwszej dziesiątce. Jeśli tak, zwraca znacznik TOP10, a w przeciwnym razie znacznik Pozostałe.

Filtrowanie TOP N w Power Pivot i Power BI (cz. 1) – interfejs i kolumna obliczeniowa 5

 

Filtrowanie TOP N w Power Pivot i Power BI (cz. 1) – interfejs i kolumna obliczeniowa 6

Jeśli kolumna ma zwracać nazwiska TOP klientów, a resztę grupować do pozostałych, możemy zmienić jej treść:

TOP10 = if(RANKX(ALL(Klienci);[Sprzedaż Total])<=10;Klienci[Klient];"Pozostałe")

Filtrowanie TOP N w Power Pivot i Power BI (cz. 1) – interfejs i kolumna obliczeniowa 7

Bartosz Czapiewski

Bartosz Czapiewski

Założyciel SkuteczneRaporty.pl, doświadczony ekspert oraz trener Excela, Power Query, Power BI i DAX. Od ponad 15 lat pomaga specjalistom i firmom lepiej pracować z danymi, automatyzować raporty oraz rozwijać kompetencje analityczne.

Jest autorem programów szkoleniowych dla Analityków: JUNIOR, POWER PRO i EXPERT oraz twórcą społeczności I❤️DATA, w której poprzez mentoring, spotkania LIVE z ekspertami i praktyczne wyzwania pomaga rozwijać umiejętności, budować portfolio, przygotować się do rekrutacji i zrobić kolejny krok w stronę pracy jako Analityk Danych.

Na blogu dzieli się praktycznym podejściem do analityki: od układania danych w Excelu, przez automatyzację pracy z Power Query, aż po zaawansowane raportowanie w Power BI, DAX i rozwój kariery Analityka Danych.

Brak komentarzy

  1. Cześć,
    a jak zmienić tą formułę w power pilot, żeby dla każdego klienta pokazywał po 5 największe wartości sprzedaży- mam ogromną bazę danych która nie mieści się w excelu
    Marzena

    • Cześć Marzena, podeślij plik z modelem danych i oczekiwany układ raportu – wtedy mogę podpowiedzieć na konkretnym przykładzie.

    • Mam ten sam problem. Dla każdej pozycji chciałabym 5 największych wartości sprzedaży, czy jest już gdzieś takie rozwiązanie?

      • Cześć Marta, proponuję zbudować nową miarę (oto przykład dla pokazywania tylko top 5 Nazw produktów dla Kategorii produktu):
        Ranking Produktów = RANKX(ALLSELECTED(Produkty[Nazwa Produktu]),[Sprzedaż Total])
        Następnie miarę wrzuć na panel boczny Filtry i ustaw warunek <=5.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *