daynumberofyear — funkcja skryptu i funkcja wykresu
Ta funkcja oblicza numer dnia roku, w którym przypada znacznik czasu. Obliczenie jest wykonywane od pierwszej milisekundy pierwszego dnia roku, ale pierwszy miesiąc może być przesunięty.
Składnia:
DayNumberOfYear(timestamp[,start_month])
Typ zwracanych danych: integer
Argumenty
Argument
Opis
timestamp
Data lub znacznik czasu do oszacowania.
start_month
Przez określenie wartości start_month z zakresu od 2 do 12 (1 w przypadku pominięcia) można przesunąć początek roku do pierwszego dnia dowolnego miesiąca. Na przykład w celu określenia początku roku obrotowego na 1 marca należy podać wartość start_month = 3.
W tych przykładach używany jest format daty DD/MM/YYYY. Format daty jest określony w instrukcji SET DateFormat u góry skryptu ładowania danych. Format zastosowany w przykładach można zmienić, aby dostosować go do konkretnych potrzeb.
Przykłady funkcji
Przykład
Wynik
DayNumberOfYear( '12/09/2014' )
Zwraca 256, numer dnia liczony od pierwszego dnia roku.
DayNumberOfYear( '12/09/2014',3 )
Zwraca 196, numer dnia liczony od 1 marca.
Przykład 1 – styczeń, początek roku (skrypt)
Przegląd
Otwórz Edytor ładowania danych i dodaj skrypt ładowania do nowej karty poniżej.
Skrypt ładowania zawiera:
Prosty zestaw danych zawierający listę dat, który jest załadowany do tabeli o nazwie Calendar. Została użyta domyślna zmienna systemowa DateFormat MM/DD/RRRR.
Ładowanie poprzedzające, które tworzy dodatkowe pole, o nazwie daynryear, używające funkcji DayNumberOfYear().
Oprócz daty do funkcji nie przekazano żadnych innych parametrów.
Skrypt ładowania
SET DateFormat='MM/DD/YYYY';
Calendar:
Load
date,
DayNumberOfYear(date) as daynryear
;
Load
date
Inline
[
date
01/01/2022
01/10/2022
01/31/2022
02/01/2022
02/10/2022
06/30/2022
07/26/2022
10/31/2022
11/01/2022
12/31/2022
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
date
daynryear
Tabela wynikowa
data
daynryear
01/01/2022
1
01/10/2022
10
01/31/2022
31
02/01/2022
32
02/10/2022
41
06/30/2022
182
07/26/2022
208
10/31/2022
305
11/01/2022
306
12/31/2022
366
Pierwszym dniem roku jest 1 stycznia, ponieważ do funkcji DayNumberOfYear() nie przekazano drugiego argumentu.
1 stycznia to pierwszy dzień kwartału, natomiast 1 lutego to 32 dzień roku. 30 czerwca to 182., a 31 grudnia to 366. i ostatni dzień roku.
Przykład 2 – listopad, początek roku (skrypt)
Przegląd
Otwórz Edytor ładowania danych i dodaj skrypt ładowania do nowej karty poniżej.
Skrypt ładowania zawiera:
Ten sam zbiór danych, co w pierwszym przykładzie.
Została użyta domyślna zmienna systemowa DateFormat MM/DD/RRRR
Argument start_month oznacza początek 1 listopada. W ten sposób początek roku obrotowego został ustawiony na 1 listopada.
Skrypt ładowania
SET DateFormat='MM/DD/YYYY';
Calendar:
Load
date,
DayNumberOfYear(date,11) as daynryear
;
Load
date
Inline
[
date
01/01/2022
01/10/2022
01/31/2022
02/01/2022
02/10/2022
06/30/2022
07/26/2022
10/31/2022
11/01/2022
12/31/2022
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
date
daynryear
Tabela wynikowa
data
daynryear
01/01/2022
62
01/10/2022
71
01/31/2022
92
02/01/2022
93
02/10/2022
102
06/30/2022
243
07/26/2022
269
10/31/2022
366
11/01/2022
1
12/31/2022
61
Pierwszym dniem roku jest 1 listopada, ponieważ w drugim argumencie do funkcji DayNumberOfYear() przekazano wartość 11.
1 stycznia to pierwszy dzień kwartału, natomiast 1 lutego to 32 dzień roku. 30 czerwca to 182., a 31 grudnia to 366. i ostatni dzień roku.
Przykład 3 – styczeń, początek roku (wykres)
Przegląd
Otwórz Edytor ładowania danych i dodaj skrypt ładowania do nowej karty poniżej.
Skrypt ładowania zawiera:
Ten sam zbiór danych, co w pierwszym przykładzie.
Została użyta domyślna zmienna systemowa DateFormat MM/DD/RRRR.
Jednak w tym przykładzie do aplikacji został załadowany niezmieniony zbiór danych. Wartość dnia kwartału jest obliczana przez miarę w obiekcie wykresu.
Skrypt ładowania
SET DateFormat='MM/DD/YYYY';
Calendar:
Load
date
Inline
[
date
01/01/2022
01/10/2022
01/31/2022
02/01/2022
02/10/2022
06/30/2022
07/26/2022
10/31/2022
11/01/2022
12/31/2022
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar: date.
Utwórz następującą miarę:
=daynumberofyear(date)
Tabela wynikowa
data
=daynumberofyear(date)
01/01/2022
1
01/10/2022
10
01/31/2022
31
02/01/2022
32
02/10/2022
41
06/30/2022
182
07/26/2022
208
10/31/2022
305
11/01/2022
306
12/31/2022
366
Pierwszym dniem roku jest 1 stycznia, ponieważ do funkcji DayNumberOfYear() nie przekazano drugiego argumentu.
1 stycznia to pierwszy dzień roku, natomiast 1 lutego to 32 dzień roku. 30 czerwca to 182., a 31 grudnia to 366. i ostatni dzień roku.
Przykład 4 – listopad, początek roku (wykres)
Przegląd
Otwórz Edytor ładowania danych i dodaj skrypt ładowania do nowej karty poniżej.
Skrypt ładowania zawiera:
Ten sam zbiór danych, co w pierwszym przykładzie.
Została użyta domyślna zmienna systemowa DateFormat MM/DD/RRRR.
Rok obrotowy trwa od 1 listopada do 31 października.
Jednak w tym przykładzie do aplikacji został załadowany niezmieniony zbiór danych. Wartość dnia roku jest obliczana przez miarę w obiekcie wykresu.
Skrypt ładowania
SET DateFormat='MM/DD/YYYY';
Calendar:
Load
date
Inline
[
date
01/01/2022
01/10/2022
01/31/2022
02/01/2022
02/10/2022
06/30/2022
07/26/2022
10/31/2022
11/01/2022
12/31/2022
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar: date.
Utwórz następującą miarę:
=daynumberofyear(date)
Tabela wynikowa
data
=daynumberofyear(date,11)
01/01/2022
62
01/10/2022
71
01/31/2022
92
02/01/2022
93
02/10/2022
102
06/30/2022
243
07/26/2022
269
10/31/2022
366
11/01/2022
1
12/31/2022
61
Pierwszym dniem roku jest 1 listopada, ponieważ w drugim argumencie do funkcji DayNumberOfYear() przekazano wartość 11.
Rok obrotowy trwa od listopada do października. Widać to w tabeli wyników, w której 1 listopada jest pierwszym dniem roku, a 31 października jest 366. i ostatnim dniem roku.
Czy ta strona była pomocna?
Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!