日付および時刻関数
QlikView の日付および時刻関数は、日付と時間の値を転送、変換するために使用されます。すべての関数は、ロード スクリプトおよびチャート式の両方で使用できます。
関数は、1899 年 12 月 30 日からの経過日数と等しい日時のシリアル値に基づいています。整数値は日付を表し、小数値はその日付の時刻を表します。
QlikView はパラメータの数値を使用するため、日付や時刻として書式設定されていない場合でも、数値はパラメータとして有効です。パラメータが文字列の場合など、数値ではない場合、QlikView は、日付と時刻の環境変数に従って、その文字列の解釈を試みます。
パラメータで使用されている時刻書式が、環境変数で設定されている書式に対応していない場合、QlikView は正しく解釈することができません。この問題を解決するには、設定を変更するか、変換関数を使用します。
各関数の例は、日付と時刻のデフォルト書式である hh:mm:ss および YYYY-MM-DD (ISO 8601) を使用していると仮定して記載しています。
情報メモ
日付と時刻を日付または時刻関数で処理する際に、日付または時刻関数に地理的な位置が含まれている場合を除いて、QlikView では夏時間パラメータが無視されます。
たとえば、ConvertToLocalTime( filetime('Time.qvd'), 'Paris') では夏時間パラメータが使用されますが、ConvertToLocalTime(filetime('Time.qvd'), 'GMT-01:00') では夏時間パラメータが使用されません。
各関数のドロップダウンを使用すると、その関数の簡単な説明や構文を確認できます。詳細を表示するには、構文の説明にある関数名をクリックします。
時刻の整数式
この関数は、expression の小数部が標準的な数値の解釈に従って時間と判断される場合に、秒を表す整数を返します。
second(expression)
この関数は、expression の小数部が標準的な数値の解釈に従って時間と判断される場合に、分を表す整数を返します。
minute(expression)
この関数は、expression の小数部が標準的な数値の解釈に従って時間と判断される場合に、時間を表す整数を返します。
hour(expression)
この関数は、expression の小数部が標準的な数値の解釈に従って日付と判断される場合に、日付を表す整数を返します。
day(expression)
この関数は、ISO 8601 に従って、週番号を表す整数を返します。週番号は標準的な数値の解釈に従って、数式の日付の解釈により計算されます。
week(timestamp [, first_week_day [, broken_weeks [, reference_day]]])
この関数は、環境変数 MonthNames および 1 から 12 までの整数で定義されている月名を持つデュアル値を返します。月は標準的な数値の解釈に従って、数式の日付の解釈により計算されます。
month(expression)
この関数は、expression が標準的な数値の解釈に従って日付と判断される場合に、年を表す整数を返します。
year(expression)
この関数は、ISO 8601 に基づいた週番号が含まれる年を返します。週の周期は 1~52 前後です。
weekyear(expression)
この関数は、以下を持つデュアル値を返します。 環境変数 DayNames で定義される日の名前。 曜日に相当する 0 から 6 までの整数。
weekday(date)
タイムスタンプ関数
この関数は、システム クロックから取得した現在の時刻のタイムスタンプを返します。デフォルト値は 1 です。
now([
timer_mode])
この関数は、システム クロックから取得した現在の日付を返します。
today([timer_mode])
この関数は、指定されたタイム ゾーンのシステム クロックから取得した現在の時刻のタイムスタンプを返します。
localtime([timezone [, ignoreDST ]])
make 関数
この関数は、年 YYYY、月 MM、日 DD から算出された日付を返します。
makedate(YYYY [ , MM [ , DD ] ])
この関数は、年 YYYY、週 WW、曜日 D から算出された日付を返します。
makeweekdate(YYYY [ , WW [ , D ] ])
この関数は、時間 hh、分 mm、秒 ss から算出された時間を返します。
maketime(hh [ , mm [ , ss [ .fff ] ] ])
その他の日付関数
この関数は、startdate の n か月後の日付を返し、n が負の場合には、startdate の n か月前の日付を返します。
addmonths(startdate, n
, [ , mode])
この関数は、startdate の n 年後の日付を返し、n が負の場合には、startdate の n 年前の日付を返します。
addyears(startdate, n)
この関数は、入力した日付がスクリプトが最後にロードされた日付の年に該当するかどうかを算出し、該当する場合は True を返し、該当しない場合は False を返します。
yeartodate(timestamp [ , yearoffset
[ , firstmonth [ , todaydate] ] ])
timezone 関数
この関数は Windows で定義されている現在のタイム ゾーンの名前を返します。このとき、夏時間の調整は考慮されません。
timezone( )
この関数は、日付と現在の Greenwich Mean Time を返します。これはシステム クロックと Windows の時刻設定から導かれます。
GMT( )
日付と現在の Coordinated Universal Time を返します。
UTC( )
UTC または GMT の日付と時刻をデュアル値として現地時間に変換します。場所は、任意の数の世界中の都市とタイム ゾーンです。
converttolocaltime(timestamp [, place [, ignore_dst=false]])
時刻設定関数
この関数は入力として timestamp と year を取得し、timestamp を入力で指定された year で置き換えます。
setdateyear
(timestamp, year)
この関数は入力として timestamp と month と year を取得し、timestamp を入力で指定された year と month で置き換えます。
setdateyearmonth
(timestamp, year, month)
in... 関数
この関数は、timestamp が base_date を含む年の範囲内にある場合、True を返します。
inyear(date, basedate , shift [, first_month_of_year
= 1])
この関数は、timestamp が base_date のミリ秒単位まで正確に base_date を含む年の範囲内にある場合、True を返します。
inyeartodate
(date, basedate , shift [, first_month_of_year
= 1])
この関数は、timestamp が base_date を含む四半期に含まれる場合、True を返します。
inquarter
(date, basedate , shift [, first_month_of_year
= 1])
この関数は、timestamp が base_date のミリ秒単位まで正確に base_date を含む四半期の範囲内にある場合、True を返します。
inquartertodate
(date, basedate , shift [, first_month_of_year
= 1])
この関数は、timestamp が base_date を含む月にある場合、True を返します。
inmonth(date, basedate , shift)
base_date の最後のミリ秒まで base_date を含む月に timestamp がある場合に True を返します。
inmonthtodate
(date, basedate , shift)
この関数は、タイムスタンプが基準日と同じ月、隔月、四半期、4 か月、または半年のどれに該当するかを調べます。タイムスタンプがその前後の期間に該当するか確認することもできます。
inmonths(n, date, basedate , shift [, first_month_of_year
= 1])
この関数は、タイムスタンプが、base_date の最後のミリ秒までの月、2 か月、四半期、4 か月、半年のいずれかの期間の範囲内か確認します。タイムスタンプがその前後の期間に該当するか確認することもできます。
inmonthstodate
(n, date, basedate , shift [, first_month_of_year
= 1])
この関数は、timestamp が base_date を含む週にある場合、True を返します。
inweek(date, basedate , shift [, weekstart])
この関数は、timestamp が base_date のミリ秒単位まで正確に base_date を含む週の範囲内にある場合、True を返します。
inweektodate
(date, basedate , shift [, weekstart])
この関数は、timestamp が base_date を含む週周期の範囲内であれば真を返します。QlikView の週周期は、1 月 1 日を週の最初の日と見なして定義されています。
inlunarweek
(date, basedate , shift [, weekstart])
この関数は、timestamp が base_date の最後のミリ秒までの週周期の範囲内である場合に真を返します。QlikView の週周期は、1 月 1 日を週の最初の日と見なして定義されています。
inlunarweektodate
(date, basedate , shift [, weekstart])
この関数は、base_timestamp を含む日に timestamp が含まれている場合、True を返します。
inday(timestamp, basetimestamp , shift [, daystart])
この関数は、timestamp が base_timestamp のミリ秒単位まで正確に base_timestamp を含む日の範囲内にある場合、True を返します。
indaytotime(timestamp, basetimestamp , shift [, daystart])
start ... end 関数
この関数は、date を含む年の初日に対応するタイムスタンプを返します。デフォルトの出力形式は、スクリプトに設定されている DateFormat です。
yearstart( date [, shift = 0 [, first_month_of_year
= 1]])
この関数は、date を含む年の最終日の最後のミリ秒のタイムスタンプに相当する値を返します。デフォルトの出力形式は、スクリプトに設定されている DateFormat です。
yearend( date [, shift = 0 [, first_month_of_year
= 1]])
この関数は、date を含む年の初日の最初のミリ秒のタイムスタンプに対応する数値を基底として、4 桁の年の表示値を返します。
yearname(date [, shift = 0 [, first_month_of_year
= 1]] )
この関数は、date を含む四半期の最初のミリ秒のタイムスタンプに相当する値を返します。デフォルトの出力形式は、スクリプトに設定されている DateFormat です。
quarterstart(date [, shift = 0 [, first_month_of_year
= 1]])
この関数は、date を含む四半期の最後のミリ秒のタイムスタンプに相当する値を返します。デフォルトの出力形式は、スクリプトに設定されている DateFormat です。
quarterend(date [, shift = 0 [, first_month_of_year
= 1]])
この関数は、四半期の初日の最初のミリ秒のタイムスタンプに対応する値を基底として、四半期の月数 (MonthNames スクリプト変数に従った書式) および年の表示値を返します。
quartername(date [, shift = 0 [, first_month_of_year = 1]])
この関数は、date を含む月の初日の最初のミリ秒のタイムスタンプに対応する値を返します。デフォルトの出力形式は、スクリプトに設定されている DateFormat です。
monthstart(date [, shift = 0])
この関数は、date を含む月の最終日の最後のミリ秒のタイムスタンプに相当する値を返します。デフォルトの出力形式は、スクリプトに設定されている DateFormat です。
monthend(date [, shift = 0])
この関数は、月の初日の最初のミリ秒のタイムスタンプに対応する基底の数値を持つ、月 (MonthNames スクリプト変数に従った書式) および年の表示値を返します。
monthname(date [, shift = 0])
この関数は、ベース日付を含む月、2 か月、四半期、4 か月、半年のいずれかの期間の最初のミリ秒のタイムスタンプに相当する値を返します。その前後の期間のタイムスタンプを取得することもできます。
monthsstart(n, date [, shift = 0 [, first_month_of_year
= 1]])
この関数は、ベース日付を含む月、2 か月、四半期、4 か月、半年のいずれかの期間の最後のミリ秒のタイムスタンプに相当する値を返します。その前後の期間のタイムスタンプを取得することもできます。
monthsend(n, date [, shift = 0 [, first_month_of_year
= 1]])
この関数は、期間の月の範囲 (MonthNames スクリプト変数に従った書式で表示) および年を表す表示値を返します。基底値は、ベース日付を含む月、2 か月、四半期、4 か月、半年のいずれかの期間の最初のミリ秒のタイムスタンプに相当する値です。
monthsname(n, date [, shift = 0 [, first_month_of_year = 1]])
この関数は、date を含む暦週の初日 (月曜日) の最初のミリ秒のタイムスタンプに対応する値を返します。デフォルトの出力形式は、スクリプトに設定されている DateFormat です。
weekstart(date [, shift = 0 [,weekoffset = 0]])
この関数は、date を含む暦週の最終日 (日曜日) における最後のミリ秒のタイムスタンプに対応する値を返します。デフォルトの出力形式は、スクリプトに設定されている DateFormat です。
weekend(date [, shift = 0 [,weekoffset = 0]])
この関数は、date を含む週の初日の最初のミリ秒のタイムスタンプに対応する数値を基底として、年と週番号を表示する値を返します。
weekname(date [, shift = 0 [,weekoffset = 0]])
この関数は、date を含む週周期の最初のミリ秒のタイムスタンプに相当する値を返します。QlikView の週周期は、1 月 1 日を週の最初の日と見なして定義されています。
lunarweekstart(date [, shift = 0 [,weekoffset = 0]])
この関数は、date を含む週周期の最後のミリ秒のタイムスタンプに相当する値を返します。QlikView の週周期は、1 月 1 日を週の最初の日と見なして定義されています。
lunarweekend(date [, shift = 0 [,weekoffset = 0]])
この関数は、date を含む週周期の初日の最初のミリ秒のタイムスタンプに対応する年と週周期番号を表示する表示値を返します。QlikView の週周期は、1 月 1 日を週の最初の日と見なして定義されています。
lunarweekname(date [, shift = 0 [,weekoffset = 0]])
この関数は、time 引数に含まれる日の最初のミリ秒のタイムスタンプに対応する値を返します。デフォルトの出力形式は、スクリプトに設定されている TimestampFormat です。
daystart(timestamp [, shift = 0 [, dayoffset = 0]])
この関数は、time を含む日の最後のミリ秒のタイムスタンプに相当する値を返します。デフォルトの出力形式は、スクリプトに設定されている TimestampFormat です。
dayend(timestamp [, shift = 0 [, dayoffset = 0]])
この関数は、time を含む日の最初のミリ秒のタイムスタンプに対応する数値を基底として、日付を表示する値を返します。
dayname(timestamp [, shift = 0 [, dayoffset = 0]])
日付連番関数
age 関数は、date_of_birth に生まれた人の timestamp 時点での年齢 (満年齢) を返します。
age(timestamp,
date_of_birth)
networkdays 関数は、オプションで指定された holiday を考慮した上で、start_date と end_date の間の当日を含む作業日数 (月~金曜日) を返します。
networkdays
(start:date, end_date {, holiday})
firstworkdate 関数は、end_date までに no_of_workdays (月~金曜日) の日数に達するように、オプションで指定された休日を考慮した最遅開始日を返します。end_date と holiday は、有効な日付またはタイムスタンプでなければなりません。
firstworkdate(end_date, no_of_workdays {, holiday} )
lastworkdate 関数は、オプションで指定された holiday を考慮した上で、start_date に開始した場合に no_of_workdays (月~金曜日) の日数に達する最早終了日を返します。start_date と holiday は、有効な日付またはタイムスタンプでなければなりません。
lastworkdate(start_date, no_of_workdays {, holiday})
この関数は、タイムスタンプの年の日番号を計算します。計算は、年の初日の最初のミリ秒から行われますが、最初の月を補正することもできます。
daynumberofyear(date[,firstmonth])