De naam van een dag zoals gedefinieerd in de omgevingsvariabele DayNames.
Een geheel getal tussen 0 en 6 dat overeenkomt met de nominale dag van de week (0-6).
Syntaxis:
weekday(date [,first_week_day=0])
Retourgegevenstypen: dual
De weekday()-functie stelt vast op welke dag van de week een datum valt. Vervolgens wordt een tekenreekswaarde geretourneerd die die dag vertegenwoordigt.
Het resultaat retourneert de nummerwaarde die bij die dag van de week hoort (0-6), op basis van de begindag van de week. Bijvoorbeeld: als de eerste dag van de week is ingesteld op zondag, dan retourneert woensdag een nummerwaarde van 3. Deze begindag wordt bepaald door de systeemvariabele FirstWeekDay of door de first_week_day-functieparameter.
U kunt deze nummerwaarde gebruiken als onderdeel van een rekenkundige uitdrukking. Bijvoorbeeld: vermenigvuldig de waarde met 1 om de waarde zelf te retourneren.
Wanneer gebruiken
De weekday()-functie is handig als u aggregaties per dag van de week wilt vergelijken. Bijvoorbeeld als u de gemiddelde verkoop van producten per weekdag wilt vergelijken.
Deze dimensies kunnen worden gemaakt in het load-script door de functie te gebruiken om een veld te maken in een masterkalendertabel, of rechtstreeks in een diagram worden gemaakt als een berekende dimensie.
U kunt de volgende waarden gebruiken om de dag in te stellen waarop de week begint in het argument first_week_day:
waarden first_week_day
Dag
Waarde
Maandag
0
Dinsdag
1
Woensdag
2
Donderdag
3
Vrijdag
4
Zaterdag
5
Zondag
6
Landinstellingen
Tenzij anders aangegeven, wordt in de voorbeelden in dit onderwerp de volgende datumindeling gebruikt: MM/DD/JJJJ. De datumopmaak wordt opgegeven in de opdracht SET DateFormat in uw script voor het laden van gegevens. De standaard datumindeling is mogelijk anders op uw systeem vanwege landinstellingen en andere factoren. U kunt de indelingen in de voorbeelden wijzigen zodat deze aansluiten op uw behoeften. Of u kunt de indelingen in uw load-script wijzigen zodat ze overeenkomen met deze voorbeelden.
Standaard landinstellingen in apps zijn gebaseerd op de regionale systeeminstellingen van de computer of server waarop Qlik Sense is geïnstalleerd. Als de Qlik Sense-server die u gebruikt is ingesteld op Zweden, gebruikt de editor voor laden van gegevens de Zweedse landinstellingen voor datums, tijd en valuta. Deze landinstellingen voor indelingen zijn niet gerelateerd aan de taal die wordt weergegeven in de gebruikersinterface van Qlik Sense. Qlik Sense wordt weergegeven in dezelfde taal als de browser die u gebruikt.
InformatieTenzij anders aangegeven, is FirstWeekDay in deze voorbeelden ingesteld op 0.
Voorbeelden van functies
Voorbeeld
Resultaat
weekday('10/12/1971')
Retourneert Tue en 1.
weekday('10/12/1971' , 6)
Retourneert Tue en 2.
In dit voorbeeld gebruiken we zondag (6) als eerst dag van de week.
SET FirstWeekDay=6;
...
weekday('10/12/1971')
Retourneert Tue en 2.
Voorbeeld 1 - Weekdagtekenreeks
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een gegevensset met een set transacties voor 2022 die wordt geladen in de tabel Transactions.
De systeemvariabele FirstWeekDay die is ingesteld op 6 (zondag).
De DayNames-variabele die is ingesteld om de standaarddagnamen te gebruiken.
Een voorafgaande lading die de weekday()-functie bevat, die is ingesteld als het week_day-veld en de weekdag retourneert waarin de transacties hebben plaatsgevonden.
Load-script
SET DateFormat='MM/DD/YYYY';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET FirstWeekDay=6;
Transactions:
Load
*,
WeekDay(date) as week_day
;
Load
*
Inline
[
id,date,amount
8188,01/01/2022,37.23
8189,01/02/2022,17.17
8190,01/03/2022,88.27
8191,01/04/2022,57.42
8192,01/05/2022,53.80
8193,01/06/2022,82.06
8194,01/07/2022,40.39
];
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
id
date
week_day
Resultatentabel
id
date
week_day
8188
01/01/2022
Za
8189
01/02/2022
Zo
8190
01/03/2022
Ma
8191
01/04/2022
Di
8192
01/05/2022
Wo
8193
01/06/2022
Do
8194
01/07/2022
Vr
Het veld week_day wordt gemaakt in de voorafgaande load-instructie met behulp van de functie weekday() en geeft het datumveld door als het argument van de functie.
De weekday()-functie retourneert de weekdagtekenreekswaarde; dat wil zeggen, hij retourneert de naam van de weekdag die is ingesteld door de DayNames-systeemvariabele.
Transactie 8192 vond plaats op 5 januari. De systeemvariabele FirstWeekDay stelt de eerste dag van de week in op zondag. De weekday()-functie bepaalt dat de transactie op een woensdag plaatsvond en retourneert deze waarde in afgekorte vorm van de DayNames-systeemvariabele, in het week_day-veld.
De waarden in het week_day-veld zijn rechts uitgelijnd in de kolom omdat er een dubbel nummer- en tekstresultaat bestaat voor het veld (woensdag 3). Om de veldwaarde om te zetten in de bijbehorende nummerequivalent, kan het veld in de num()-functie worden omsloten. Zo kan in transactie 8192 de woensdagwaarde worden omzet in nummer 3.
Voorbeeld 2 – first_week_day
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een gegevensset met een set transacties voor 2022 die wordt geladen in de tabel Transactions.
De systeemvariabele FirstWeekDay die is ingesteld op 6 (zondag).
De DayNames-variabele die is ingesteld om de standaarddagnamen te gebruiken.
Een voorafgaande lading die de weekday()-functie bevat, die is ingesteld als het week_day-veld en de weekdag retourneert waarin de transacties hebben plaatsgevonden.
Load-script
SET DateFormat='MM/DD/YYYY';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET FirstWeekDay=6;
Transactions:
Load
*,
WeekDay(date,1) as week_day
;
Load
*
Inline
[
id,date,amount
8188,01/01/2022,37.23
8189,01/02/2022,17.17
8190,01/03/2022,88.27
8191,01/04/2022,57.42
8192,01/05/2022,53.80
8193,01/06/2022,82.06
8194,01/07/2022,40.39
];
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
id
date
week_day
Resultatentabel
id
date
week_day
8188
01/01/2022
Za
8189
01/02/2022
Zo
8190
01/03/2022
Ma
8191
01/04/2022
Di
8192
01/05/2022
Wo
8193
01/06/2022
Do
8194
01/07/2022
Vr
Omdat het first_week_day-argument is ingesteld op 1 in de weekday()-functie, wordt dinsdag als eerste dag van de week gebruikt. Daarom krijgen alle transacties die op een dinsdag plaatsvinden een dubbele nummerwaarde van 0.
Transactie 8192 vond plaats op 5 januari. De weekday()-functie identificeert dit als een woensdag en daarom zou de uitdrukking de dubbele nummerwaarde van 1 retourneren.
Voorbeeld 3 - Diagramobjectvoorbeeld
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een gegevensset met een set transacties voor 2022 die wordt geladen in de tabel Transactions.
De systeemvariabele FirstWeekDay die is ingesteld op 6 (zondag).
De DayNames-variabele die is ingesteld om de standaarddagnamen te gebruiken.
In dit voorbeeld is de gegevensverzameling echter niet gewijzigd en wordt in de applicatie geladen. De berekening die de weekdagwaarde identificeert, wordt gemaakt als een meting in een diagram in de app.
Load-script
SET DateFormat='MM/DD/YYYY';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET FirstWeekDay=6;
Transactions:
Load
*
Inline
[
id,date,amount
8188,01/01/2022,37.23
8189,01/02/2022,17.17
8190,01/03/2022,88.27
8191,01/04/2022,57.42
8192,01/05/2022,53.80
8193,01/06/2022,82.06
8194,01/07/2022,40.39
];
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
id
date
Maak de volgende meting om de weekdagwaarde te berekenen:
=weekday(date)
Resultatentabel
id
date
=weekday(date)
8188
01/01/2022
Za
8189
01/02/2022
Zo
8190
01/03/2022
Ma
8191
01/04/2022
Di
8192
01/05/2022
Wo
8193
01/06/2022
Do
8194
01/07/2022
Vr
Het veld =weekday(date) wordt gemaakt in het diagram door de functie weekday() te gebruiken en het datumveld door te geven als het argument van de functie.
De weekday()-functie retourneert de weekdagtekenreekswaarde; dat wil zeggen, hij retourneert de naam van de weekdag die is ingesteld door de DayNames-systeemvariabele.
Transactie 8192 vond plaats op 5 januari. De systeemvariabele FirstWeekDay stelt de eerste dag van de week in op zondag. De weekday()-functie bepaalt dat de transactie op een woensdag plaatsvond en retourneert deze waarde in afgekorte vorm van de DayNames-systeemvariabele, in het =weekday(date)-veld.
Voorbeeld 4 - Scenario
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een gegevensset met een set transacties voor 2022 die wordt geladen in de tabel Transactions.
De systeemvariabele FirstWeekDay die is ingesteld op 6 (zondag).
De DayNames-variabele die is ingesteld om de standaarddagnamen te gebruiken.
De eindgebruiker wil graag een diagram die de gemiddelde verkoop per weekdag voor de transacties weergeeft.
Load-script
SET DateFormat='MM/DD/YYYY';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET FirstWeekDay=6;
Transactions:
LOAD
RecNo() AS id,
MakeDate(2022, 1, Ceil(Rand() * 31)) as date,
Rand() * 1000 AS amount
Autogenerate(1000);
Resultaten
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
=weekday(date)
=avg(amount)
Stel de Getalnotatie van de meting in op Geld.
Resultatentabel
weekday(date)
Avg(amount)
Zo
$536.96
Ma
$500.80
Di
$515.63
Wo
$509.21
Do
$482.70
Vr
$441.33
Za
$505.22
Was deze pagina nuttig?
Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!