Blog JSystems - uwalniamy wiedzę!

Szukaj

Power BI - Model danych i relacje

Po co ukrywać klucze i kolumny techniczne w modelu Power BI

W skrócie

  • Polecenie Ukryj w widoku raportu w Power BI chowa kolumnę z listy pól, a kolumna dalej działa w relacjach i miarach. Ukryj kolumnę klucza w tabeli faktów, żeby autor raportu filtrował kolumnami wymiaru.
  • Klucz z tabeli faktów filtruje tylko swoją tabelę. Na modelu Nordvelli fragmentator na FaktSprzedaz[SklepID] zostawia budżet całej sieci, więc realizacja sklepu spada z 82,9% do 6,4%.
  • Ukryj klucze po stronie wiele i kolumny, których nie wolno sumować, a listę sprawdź zapytaniem na INFO.VIEW.COLUMNS. Kolumny wymiarów, którymi filtrujesz cały model, zostaw widoczne.

Pytanie, kiedy w Power BI ukryć kolumnę, wraca przy każdym modelu, który oddajesz innym autorom raportów. Lista pól pełna identyfikatorów jest nieczytelna, ale ważniejsze jest to, że klucz z tabeli faktów wstawiony do fragmentatora filtruje inaczej niż ta sama kolumna z wymiaru. Pokazujemy na modelu Nordvelli, jakie liczby daje taki fragmentator, które kolumny ukryć, a które zostawić widoczne.

Jak to wygląda w praktyce

W panelu Dane tabele faktów mają kolumny SklepID, ProduktID czy DataID, a autor raportu bierze tę, którą znajdzie pierwszą. Na modelu Nordvelli porównaliśmy filtr na sklep numer 1 (Nordvella Warszawa Centrum) ustawiony raz na DimSklepy[SklepID], a raz na FaktSprzedaz[SklepID]. Sprzedaż w obu przypadkach wynosi 34 740 655,15 zł. Budżet z filtrem na wymiarze to 41 909 608,32 zł, a z filtrem na faktach 541 917 189,40 zł, czyli plan całej sieci. Realizacja budżetu spada z 82,9% do 6,4%.

Odwrotnie działa widoczny klucz FaktBudzet[SklepID]: budżet sklepu jest poprawny, a sprzedaż pokazuje całą sieć, 467 775 009,17 zł, więc realizacja wychodzi 1116,2%. Drugi objaw to sumy kluczy. Kolumna liczbowa trafia do wizualizacji z sumowaniem, a suma FaktSprzedaz[SklepID] w Nordvelli to 1 002 782, liczba bez żadnego znaczenia.

Dlaczego tak się dzieje

Filtr płynie relacją od strony jeden do strony wiele. Kolumna DimSklepy[SklepID] leży po stronie jeden relacji z FaktSprzedaz, FaktBudzet, FaktZwroty i FaktSatysfakcja, więc jej filtr dociera do wszystkich czterech tabel. Kolumna FaktSprzedaz[SklepID] leży po stronie wiele i filtruje tylko FaktSprzedaz. Pozostałe tabele faktów tego filtra nie widzą. Ukrycie klucza po stronie wiele zostawia autorowi raportu kolumnę, która filtruje cały model. Ukrycie porządkuje listę pól, ale nie chroni danych: ukryta kolumna dalej odpowiada na zapytania DAX, o czym piszemy w poście ukrycie kolumny w raporcie nie chroni danych.

Co zrobić krok po kroku

  1. Wypisz klucze tabel faktów i ich stan zapytaniem w widoku zapytań w języku DAX. W Nordvelli w FaktSprzedaz ukryte są DataID, ProduktID, SklepID i PracownikID, a w FaktBudzet tylko DataID. Widoczne zostały SklepID i KategoriaID w budżecie oraz klucze w FaktZwroty i FaktSatysfakcja, więc to one są pierwsze do ukrycia.
    EVALUATE
    FILTER(
        SELECTCOLUMNS(
            INFO.VIEW.COLUMNS(),
            "Tabela", [Table], "Kolumna", [Name], "Ukryta", [IsHidden]
        ),
        LEFT([Tabela], 4) = "Fakt" && RIGHT([Kolumna], 2) = "ID"
    )
  2. Ukryj klucz. W panelu Dane kliknij kolumnę prawym przyciskiem i wybierz Ukryj w widoku raportu. W widoku modelu ten sam stan pokazuje przełącznik Jest ukryty w panelu Właściwości. Powtórz to dla każdego klucza po stronie wiele relacji, także dla kolumn dat zwrotu i zakupu w FaktZwroty, które łączą się z kalendarzem.
  3. Ukryj kolumny, których nie wolno sumować i które powinny trafiać do wizualizacji tylko przez miary. Dokumentacja Microsoft podaje przykład ceny jednostkowej: modelarz ją ukrywa i daje autorom miary z właściwą agregacją, na przykład średnią. W Nordvelli to kandydat FaktSprzedaz[CenaNetto]. Gdy kolumna ma zostać widoczna, ustaw jej podsumowanie na Nie sumuj, co opisujemy w poście Power BI nie sumuje kolumny.
  4. Kolumny wymiaru zostaw widoczne. Numer sklepu do tabeli w raporcie bierz z DimSklepy[SklepID], a nie z faktów, bo tylko kolumna wymiaru filtruje sprzedaż, budżet, zwroty i ankiety naraz. Kolumny pomocnicze parametrów pól w Nordvelli (Miara wyboru Pola, Miara wyboru Kolejność, Wymiar analizy Pola) są już ukryte i tak powinny zostać.
  5. Sprawdź różnicę na liczbach, zanim oddasz model. Zapytanie liczy budżet i realizację sklepu numer 1 z filtrem na wymiarze i na kluczu w faktach. Na Nordvelli wychodzi 41 909 608,32 zł i 541 917 189,40 zł budżetu oraz 82,9% i 6,4% realizacji.
    EVALUATE
    ROW(
        "Budżet, filtr DimSklepy[SklepID]", CALCULATE([Budżet sprzedaży], DimSklepy[SklepID] = 1),
        "Budżet, filtr FaktSprzedaz[SklepID]", CALCULATE([Budżet sprzedaży], FaktSprzedaz[SklepID] = 1),
        "Realizacja, filtr DimSklepy[SklepID]", CALCULATE([Realizacja budżetu %], DimSklepy[SklepID] = 1),
        "Realizacja, filtr FaktSprzedaz[SklepID]", CALCULATE([Realizacja budżetu %], FaktSprzedaz[SklepID] = 1)
    )
  6. Uporządkuj resztę listy pól. Miary pogrupuj w folderach wyświetlania, tak jak w poście foldery wyświetlania i porządek na liście miar. Wtedy autor raportu widzi w każdej tabeli faktów miary, a w wymiarach kolumny do filtrowania i grupowania.
Menu kontekstowe kolumny DataID w panelu Dane Power BI z pozycją Ukryj w widoku raportu dla tabeli FaktSprzedaz
Menu po kliknięciu prawym przyciskiem kolumny DataID w tabeli FaktSprzedaz. Pozycja Ukryj w widoku raportu jest w środku listy, pod Usuń z modelu.

Jak sprawdzić, że problem zniknął

Po ukryciu w widoku modelu przy nazwach kolumn w panelu Dane widać ikonę przekreślonego oka, a w widoku raportu tych pól nie ma na liście. Relacje i miary działają bez zmian: sprzedaż Nordvella Warszawa Centrum to dalej 34 740 655,15 zł, a realizacja budżetu 82,9%. Uruchom ponownie zapytanie z kroku 1: przy każdym kluczu po stronie wiele relacji kolumna Ukryta ma teraz tę samą wartość co przy ukrytych już kluczach FaktSprzedaz.

W menu panelu Dane są też polecenia Wyświetl ukryte i Odkryj wszystko. Pierwsze pokazuje ukryte pola na liście, ale ich nie odkrywa. Drugie zdejmuje ukrycie ze wszystkich pól naraz, więc w gotowym modelu go nie używaj. Ukrywaj klucz od razu, gdy tworzysz relację, tak jak w lekcji o modelu danych.

Źródła i sposób sprawdzenia

  • Microsoft Learn: Understand star schema and the importance for Power BI (Measures, ukrywanie kolumn) (źródło)
  • Microsoft Learn: Many-to-many relationship guidance (Hide summarizable fact table columns) (źródło)
  • Sprawdzone zapytaniami DAX na modelu Nordvelli: ukryte i widoczne klucze tabel faktów, budżet i realizacja z filtrem na wymiarze i na kluczu w faktach, suma klucza.

Zachowanie programu sprawdziliśmy w Power BI Desktop 2.157 (wydanie z sierpnia 2026 r.) z polskim interfejsem, a przykłady na modelu sieci Nordvella z bezpłatnego kursu Power BI. Microsoft wydaje nową wersję Power BI Desktop co miesiąc, więc nazwy przycisków i limity usługi mogą się zmieniać. Aktualne wartości podaje dokumentacja Microsoft Learn.

Wróć do listy: 131 najczęstszych pytań i problemów związanych z Power BI

Najczęściej zadawane pytania

Jak ukryć kolumnę w Power BI?
W panelu Dane kliknij kolumnę prawym przyciskiem i wybierz Ukryj w widoku raportu. W widoku modelu ten sam stan pokazuje przełącznik Jest ukryty w panelu Właściwości. Kolumna znika z listy pól w widoku raportu, ale zostaje w modelu.
Czy ukryta kolumna w Power BI działa w relacjach i miarach?
Tak. Ukrycie zmienia tylko listę pól, więc relacje i miary liczą się jak wcześniej. W modelu Nordvelli klucze FaktSprzedaz są ukryte, a sprzedaż Nordvella Warszawa Centrum wynosi 34 740 655,15 zł i realizacja budżetu 82,9%, tak samo jak przed ukryciem.
Którą kolumnę SklepID wstawić do fragmentatora: z tabeli faktów czy z wymiaru?
Z wymiaru. Klucz w tabeli faktów leży po stronie wiele relacji i filtruje tylko swoją tabelę. Na modelu Nordvelli filtr na FaktSprzedaz[SklepID] zostawił budżet całej sieci, 541 917 189,40 zł, zamiast 41 909 608,32 zł planu sklepu, a DimSklepy[SklepID] filtruje sprzedaż, budżet, zwroty i ankiety naraz.
Jak pokazać ukryte kolumny w panelu Dane Power BI?
W menu panelu Dane wybierz Wyświetl ukryte: ukryte pola pojawią się na liście, ale dalej będą ukryte. Polecenie Odkryj wszystko zdejmuje ukrycie ze wszystkich pól naraz, więc w gotowym modelu go nie używaj, bo autor raportu znowu zobaczy klucze tabel faktów.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...