Interpretacja dat i godzin
Aplikacja QlikView przechowuje znalezione w danych daty, godziny i znaczniki czasu w postaci numeru seryjnego daty. Numer seryjny daty służy do zapisywania dat, godzin i znaczników czasu oraz wykonywania obliczeń arytmetycznych na wartościach czasowych. Umożliwia to dodawanie i odejmowanie dat i godzin, porównywanie interwałów itp.
Numer seryjny daty to całkowita liczba dni, które upłynęły od 30 grudnia 1899 r. W aplikacji QlikView używany jest zatem identyczny format dat liczonych od 1900 r. jak w programie Microsoft Excel i innych programach. Obsługiwany jest zakres dat z przedziału od 1 marca 1900 r. do 28 lutego 2100 r. Na przykład 33857 odpowiada dacie 10 września 1992 r. Poza tym zakresem w aplikacji QlikView używany jest taki sam system dat rozszerzony na cały kalendarz gregoriański.
Numer seryjny godziny to liczba od 0 do 1. Numer seryjny 0.00000 odpowiada godzinie 00:00:00, a numer 0.99999 godzinie 23:59:59. Numery zawierające zarówno część całkowitą, jak i ułamkową, reprezentują datę i godzinę, na przykład 2.5 oznacza 12:00 1 stycznia 1900 r.
Sposób wyświetlania danych zależy jednak od formatu ciągu znaków. Domyślnie używane są ustawienia określone w Panelu sterowania. Format danych można też ustawić za pomocą zmiennych interpretacji liczb w skrypcie lub funkcji formatującej. Możliwe jest także zmodyfikowanie formatu danych na karcie właściwości obiektu arkusza.
Przykład 1:
Ciąg daty | Numer seryjny daty |
---|---|
1997-08-06 | 35648 |
09:00 | 0.375 |
1997-08-06 09:00 | 35648.375 |
i odwrotnie.
Numer seryjny daty | Określony format liczbowy | Ciąg daty |
---|---|---|
35648 | 'D/M/YY' | 6/8/97 |
0.375 | 'hh.mm' | 09.00 |
Aplikacja QlikView podejmuje próby interpretowania dat, godzin i innych typów danych zgodnie z określonymi procedurami. Na ostateczny wynik ma jednak wpływ wiele czynników, zgodnie z zamieszczonym tutaj opisem.
Przykład 2:
W przykładach założono następujące ustawienia domyślne:
- Separator dziesiętny liczb: .
- Krótki format daty: YY-MM-DD
- Format godziny: hh:mm
W poniższej tabeli przedstawiono różne reprezentacje, gdy dane są wczytywane do aplikacji QlikView bez specjalnej funkcji interpretacji w skrypcie:
Dane źródłowe | Interpretacja domyślna aplikacji QlikView | Format daty 'YYYY-MM-DD' | Format daty 'MM/DD/YYYY' | Format godziny 'hh:mm' | Format liczby '# ##0.00' |
---|---|---|---|---|---|
0.375 | 0.375 | 1899-12-30 | 12/30/1899 | 09:00 | 0.38 |
33857 | 33857 | 1992-09-10 | 09/10/1992 | 00:00 | 33 857.00 |
97-08-06 | 97-08-06 | 1997-08-06 | 08/06/1997 | 00:00 | 35 648.00 |
970806 | 970806 | 4557-12-21 | 12/21/4557 | 00:00 | 970 806.00 |
8/6/97 | 8/6/97 | 8/6/97 | 8/6/97 | 8/6/97 | 8/6/97 |
W poniższej tabeli przedstawiono różne reprezentacje, gdy dane są wczytywane do aplikacji QlikView przy użyciu funkcji interpretacji date#( A, 'M/D/YY') w skrypcie:
Dane źródłowe | Interpretacja domyślna aplikacji QlikView | Format daty 'YYYY-MM-DD' | Format daty 'MM/DD/YYYY' | Format godziny 'hh:mm' | Format liczby '# ##0.00' |
---|---|---|---|---|---|
0.375 | 0.375 | 0.375 | 0.375 | 0.375 | 0.375 |
33857 | 33857 | 33857 | 33857 | 33857 | 33857 |
97-08-06 | 97-08-06 | 97-08-06 | 97-08-06 | 97-08-06 | 97-08-06 |
970806 | 970806 | 970806 | 970806 | 970806 | 970806 |
8/6/97 | 8/6/97 | 1997-08-06 | 08/06/1997 | 00:00 | 35 648.00 |