Udostępnij za pośrednictwem


Wskazówki dotyczące projektowania tabel dat w programie Power BI Desktop

W tym artykule opisano dobre rozwiązania projektowe dotyczące tworzenia tabel dat w modelach danych podczas korzystania z programu Power BI Desktop.

Tabela dat jest najbardziej typową tabelą używaną do analizy. Przechowuje jeden wiersz na datę i obsługuje typowe wymaganie filtrowania lub grupowania według określonych okresów dat, takich jak lata, kwartały lub miesiące.

Co więcej, aby móc pracować z funkcjami analizy czasowej języka DAX (Data Analysis Expressions), model danych musi mieć co najmniej jedną tabelę dat. Tabela dat to tabela modelu spełniająca następujące wymagania:

  • Musi mieć kolumnę daty typu danych (lub daty/godziny) — znaną jako kolumna daty.
  • Kolumna daty musi zawierać unikatowe wartości.
  • Kolumna daty nie może zawierać wartości BLANKs.
  • Kolumna daty nie może zawierać żadnych brakujących dat.
  • Kolumna daty musi obejmować pełne lata. Rok nie musi być rokiem kalendarzowym (styczeń-grudzień).
  • Tabela dat musi być oznaczona jako tabela dat.

Możesz użyć dowolnej z kilku technik, aby dodać tabelę dat do modelu:

Napiwek

Tabela dat jest prawdopodobnie najbardziej spójną funkcją dodaną do dowolnego z modeli danych. W organizacji tabela dat powinna być spójnie zdefiniowana. Dlatego niezależnie od używanej techniki zalecamy utworzenie szablonu programu Power BI Desktop zawierającego w pełni skonfigurowaną tabelę dat. Udostępnij szablon wszystkim modelerom danych w organizacji. Dlatego za każdym razem, gdy ktoś opracowuje nowy model danych, może zacząć od spójnej zdefiniowanej tabeli dat.

Użyj automatycznej daty/godziny

Opcja Automatyczna data/godzina zapewnia wygodną, szybką i łatwą w użyciu analizę czasową. Autorzy raportów mogą pracować z analizą czasową podczas filtrowania, grupowania i przechodzenia do szczegółów w okresach kalendarzowych.

Zalecamy, aby opcja Automatyczna data/godzina została włączona tylko wtedy, gdy pracujesz z okresami kalendarzowymi i gdy masz uproszczone wymagania dotyczące modelu w odniesieniu do czasu. Możesz również użyć tej opcji podczas tworzenia modeli ad hoc lub przeprowadzania eksploracji lub profilowania danych. Takie podejście nie obsługuje jednak jednego projektu tabeli dat, który może propagować filtry do wielu tabel. Aby uzyskać więcej informacji, zobacz Automatyczne wskazówki dotyczące daty/godziny w programie Power BI Desktop.

Nawiązywanie połączenia za pomocą dodatku Power Query

Jeśli źródło danych ma już tabelę dat, zalecamy użycie jej jako źródła tabeli dat modelu. Zazwyczaj jest tak, gdy łączysz się z magazynem danych, ponieważ powinna ona mieć już tabelę wymiarów dat. W ten sposób model używa pojedynczego źródła prawdy na czas w organizacji.

Jeśli tworzysz model DirectQuery, a źródło danych nie zawiera tabeli dat, zdecydowanie zalecamy dodanie tabeli dat do źródła danych. Powinna spełniać wszystkie wymagania dotyczące modelowania tabeli dat. Następnie możesz użyć dodatku Power Query, aby nawiązać połączenie z tabelą dat. Dzięki temu obliczenia modelu mogą korzystać z możliwości analizy czasowej języka DAX.

Generowanie za pomocą dodatku Power Query

Tabelę dat można wygenerować przy użyciu dodatku Power Query. Aby uzyskać więcej informacji, zobacz wpis w blogu Chris Webb Generowanie tabeli wymiarów daty w dodatku Power Query.

Napiwek

Jeśli nie masz magazynu danych ani innej spójnej definicji czasu w organizacji, rozważ użycie dodatku Power Query do opublikowania przepływu danych. Następnie wszystkie osoby modelające dane łączą się z przepływem danych, aby dodać tabele dat do swoich modeli. Przepływ danych staje się pojedynczym źródłem prawdy na czas w organizacji.

Jeśli musisz wygenerować tabelę dat, rozważ wykonanie jej za pomocą języka DAX. Może się okazać, że jest to łatwiejsze. Co więcej, prawdopodobnie będzie to wygodniejsze, ponieważ język DAX zawiera wbudowaną inteligencję, aby uprościć tworzenie tabel dat i zarządzanie nimi.

Generowanie przy użyciu języka DAX

Tabelę dat można wygenerować w modelu, tworząc tabelę obliczeniową przy użyciu funkcji CALENDAR lub CALENDARAUTO języka DAX. Każda funkcja zwraca jednokolumniową tabelę dat. Następnie można rozszerzyć tabelę obliczeniową z kolumnami obliczeniowymi, aby obsługiwać wymagania dotyczące filtrowania interwału dat i grupowania.

  • CALENDAR Użyj funkcji , jeśli chcesz zdefiniować zakres dat. Przekazujesz dwie wartości: datę rozpoczęcia i datę zakończenia. Te wartości mogą być definiowane przez inne funkcje języka DAX, takie jak MIN(Sales[OrderDate]) lub MAX(Sales[OrderDate]).
  • CALENDARAUTO Użyj funkcji , jeśli chcesz, aby zakres dat automatycznie obejmował wszystkie daty przechowywane w modelu. Możesz przekazać jeden opcjonalny parametr, który jest końcem miesiąca roku (jeśli rok jest rokiem kalendarzowym, który kończy się w grudniu, nie musisz przekazywać wartości). Jest to przydatna funkcja, ponieważ zapewnia, że zwracane są pełne lata dat, dlatego spełniają wymagania dla oznaczonej tabeli dat. Co więcej, nie musisz rozszerzać tabeli wierszami na przyszłe lata. Dzieje się tak dlatego, że po zakończeniu odświeżania danych wyzwalane jest ponowne obliczenie tabeli. Ponowne obliczanie automatycznie rozszerza zakres dat tabeli, gdy daty dla nowego roku są ładowane do modelu.

Napiwek

Aby uzyskać więcej informacji na temat tworzenia tabel obliczeniowych, w tym przykład tworzenia tabeli dat, zapoznaj się z modułem szkoleniowym Dodawanie tabel obliczeniowych i kolumn do modeli programu Power BI Desktop.

Rozważ również użycie bezpłatnego narzędzia open source, aby ułatwić zarządzanie datami za pomocą języka DAX. Aby uzyskać więcej informacji, zobacz Bravo dla usługi Power BI.

Klonowanie przy użyciu języka DAX

Gdy model danych ma już tabelę dat i potrzebujesz innej tabeli dat — gdy data jest wymiarem wymiaru odgrywającym rolę, możesz łatwo sklonować istniejącą tabelę dat. Tabelę można sklonować, tworząc tabelę obliczeniową. Wyrażenie tabeli obliczeniowej to po prostu nazwa istniejącej tabeli dat.

Aby na przykład utworzyć tabelę, która klonuje Date tabelęShip Date, użyj następującego wyrażenia tabeli obliczeniowej.

Ship Date = 'Date'

Uwaga

Podczas klonowania tabeli przy użyciu języka DAX tworzone są tylko kolumny. Nie stosuje żadnych właściwości modelu z sklonowanej tabeli, takich jak formaty lub opisy. Ponadto hierarchie nie są klonowane.

Aby uzyskać więcej informacji związanych z tym artykułem, zapoznaj się z następującymi zasobami: