# Struktura widoku data mart

W tym temacie opisano wewnętrzne kolumny nagłówka (identyfikowane przez ich przedrostek hdr\_\_) widoków data mart. Kulminacją potoków danych są często data marty, które denormalizują dane do postaci schematów gwiazdy. Fakty przedstawiają wygodną strukturę do wykorzystania przez analityków stosujących modelowanie wymiarowe. W związku z tym zrozumienie roli kolumn nagłówka umożliwi generowanie bardziej ukierunkowanych raportów na potrzeby analiz i wykorzystania przez aplikacje podrzędne.

## Widok faktów

Format nazwy widoku: &lt;SCHEMAT\_ZASOBU\_DANYCH&gt;.[&lt;PREFIKS&gt; ]&lt;FAKT&gt;

Do struktury widoku dodawane są następujące kolumny nagłówka:

Pola nagłówka tabeli

| Kolumna | Typ | Opis |
| --- | --- | --- |
| hdr\_\_deleted | Logiczna | Wskazuje, czy rekord został usunięty z tabeli faktów. |
| hdr\_{nazwa-wymiaru}\_key\_id | int64 | Odwołanie do wymiarów typu 1 i typu 2. Widok faktów będzie zawierał oddzielną kolumnę dla każdego wymiaru w fakcie.<br><br>Przykład:<br><br>hdr\_\_EMPLOYEES\_key\_id |

## Widok wymiaru typu 1

Format nazwy widoku: &lt;SCHEMAT\_ZASOBU\_DANYCH&gt;.[&lt;PREFIKS&gt; ]&lt;WYMIAR&gt;

Do struktury widoku dodawane są następujące kolumny nagłówka:

Pola nagłówka tabeli

| Kolumna | Typ | Opis |
| --- | --- | --- |
| hdr\_{nazwa-wymiaru}\_key\_id | int64 | Sekwencja zwiększana dla każdego rekordu. |
| hdr\_\_deleted | Logiczna | Wskazuje, czy rekord został usunięty z tabeli wymiarów. |

## Widok wymiaru typu 2

Format nazwy widoku: &lt;SCHEMAT\_WEWNĘTRZNY&gt;.[&lt;PREFIKS&gt; ]&lt;WYMIAR&gt;

Do struktury widoku dodawane są następujące kolumny nagłówka:

Pola nagłówka tabeli

| Kolumna | Typ | Opis |
| --- | --- | --- |
| hdr\_{nazwa-wymiaru}\_key\_id | int64 | Sekwencja zwiększana dla każdego rekordu. |
| hdr\_\_from\_timestamp | znacznik czasu | Znacznik czasu rozpoczęcia w UTC dla tej wersji rekordu. Kolumna może na przykład wskazywać datę, kiedy klient zaczął mieszkać pod określonym adresem.<br><br>Ta kolumna umożliwia:<br><br><ul> <li>Analizę danych na podstawie informacji historycznych. Można na przykład określić, jak długo zamówienie było w stanie oczekiwania lub jak zmiana adresu klienta wpływa na sprzedaż w porównaniu z danymi z zeszłego roku.</li> <li>Analizę danych według dat, ale z wykorzystaniem aktualnej wiedzy. Opisana poniżej kolumna <span>hdr_was_current_from_timestamp</span> pozwala analizować dane według określonej daty, z wykorzystaniem tylko dostępnej wtedy wiedzy.</li> </ul><br><br>W przypadku wymiaru typu 2 ze zdenormalizowanymi elementami jest to znacznik czasu ze zaktualizowanego zestawu danych w zasobie danych pamięci masowej lub do transformacji. |
| hdr\_\_to\_timestamp | znacznik czasu | Znacznik czasu zakończenia w UTC wersji rekordu. Ta kolumna służy do rozgraniczenia zakresu dat dla danej wersji rekordu. Kolumna może na przykład wskazywać datę, kiedy klient przestał mieszkać pod określonym adresem.<br><br>Zobacz też opis kolumny hdr\_from\_timestamp powyżej. |
| hdr\_\_operation | varchar(1) | Operacje pełnego ładowania:<br><br><ul> <li>L: wstawiono podczas pełnego ładowania</li> </ul><br><br>Operacje przetwarzania zmian (przy użyciu tabel zmian):<br><br><ul> <li>D: Usunięto</li> <li>U: Zaktualizowano</li> <li>I: wstawiono</li> </ul><br><br>Działania wynikające z operacji porównywania i zastosowania:<br><br><ul> <li>d: Usunięto</li> <li>u: Zaktualizowano</li> <li><span>i: Wstawiono</span> </li> </ul> |
| hdr\_\_był\_aktualny\_od\_znacznika\_czasu | znacznik czasu | Pokazuje znacznik czasowy UTC określający, kiedy została zastosowana ostatnia aktualizacja do rekordu.<br><br>Kolumna ta wraz z kolumną hdr\_\_was\_current\_to\_timestamp umożliwia analizę danych według określonej daty, z wykorzystaniem tylko dostępnej wtedy wiedzy. Załóżmy na przykład, że codziennie o godzinie 2:00 obliczasz sumę zamówień z poprzedniego dnia. Tak więc 1 grudnia łączna suma zamówień z poprzedniego dnia wynosi 1 000 000 USD. Jednak 2 grudnia zostaje wstawiony rekord wskazujący, że 30 listopada złożono zamówienie na łączną kwotę 500 000 USD. Tak więc kwota zamówienia z 30 listopada wyniosła w rzeczywistości 1 500 000 USD! Jeśli jednak wygenerujesz raport dla łącznej sumy zamówień z 30 listopada na podstawie tego, co było aktualne 1 grudnia o godzinie 2:00, wynik będzie nadal wynosić 1 000 000 USD. |
| hdr\_\_był\_aktualny\_do\_znacznika\_czasu | znacznik czasu | Ta kolumna jest wypełniana, gdy rekord jest zastępowany nowszym rekordem. Pokazuje znacznik czasu w UTC, kiedy rekord został przetworzony, a zatem nie jest już najnowszym rekordem.<br><br>Zobacz też opis kolumny hdr\_was\_current\_from\_timestamp powyżej. |