inmonthstodate - スクリプトおよびチャート関数
この関数は、タイムスタンプが、base_date の最後のミリ秒までの月、2 か月、四半期、4 か月、半年のいずれかの期間の範囲内か確認します。タイムスタンプがその前後の期間に該当するか確認することもできます。
構文:
InMonths (n_months, timestamp, base_date, period_no[, first_month_of_year ])
戻り値データ型: ブール値
引数 | 説明 |
---|---|
n_months |
期間を定義する月数。整数、または計算結果が整数になる数式で次のうちのいずれかでなければならない。1 (inmonth() 関数と同機能)、2 (2 か月)、3 (inquarter() 関数と同機能)、4 (4 か月)、6 (半年)。 |
timestamp | base_date と比較する日付。 |
base_date | 期間の評価に使用する日付。 |
period_no |
期間は、period_no、整数、計算結果が整数になる数式を使用して補正できます。値 0 は base_date を含む期間を示します。period_no の値が負の場合は過去の期間を、正の場合は将来の期間を示します。 |
first_month_of_year |
事業年度が 1 月以外の月に始まる場合は、first_month_of_year で 2 から 12 の間の値を指定します。 |
inmonthstodate() 関数では、base_date がそれが属する特定の年度セグメントの終了点として機能します。
例えば、1 年を三分割して、base_date を 5 月 15 日とした場合、1 月~4 月のタイムスタンプは、ブール値として FALSE を返します。5 月 1 日~5 月 15 日の日付は TRUE を返します。年のそれ以外の日付は FALSE を返します。
次の年のセグメントは、 n_month 引数として関数で使用できます。
期間 | 月数 |
---|---|
月 | 1 |
隔月 | 2 |
四半期 | 3 |
3 か月ごと | 4 |
半年 | 6 |
使用に適しているケース
inmonthstodate() 関数はブール値の結果を返します。通常、このタイプの関数は if expression の条件として使用されます。inmonthstodate() 関数を使用することにより、評価する期間を選択できます。例えば、ユーザーが特定の期間までの月、四半期、6 か月に製造された製品を特定できるようにする入力変数を提供します。
地域の設定
特に指定のない限り、このトピックの例では次の日付書式を使用しています: MM/DD/YYYY。日付書式は、データ ロード スクリプトの SET DateFormat ステートメントで指定されています。既定の日付書式は、地域の設定やその他の要因により、システムによって異なる場合があります。以下の例の書式は、要件に合わせて変更できます。または、これらの例に一致するようにロード スクリプトの書式を変更できます。詳しくは「アプリとスクリプトの地域設定の変更」を参照してください。
アプリの既定地域設定は、ユーザー プロファイルに基づいています。これらの地域の書式設定は、Qlik Cloud ユーザー インターフェースに表示される言語とは関係ありません。Qlik Cloud は使用しているブラウザと同じ言語で表示されます。
アプリの作成者は、作成するアプリの既定の地域を設定できます。詳細については、「Qlik Cloud Analytics でアプリとスクリプトを作成するための優先地域設定の設定」を参照してください。
例 | 結果 |
---|---|
inmonthstodate(4, '01/25/2013', '04/25/2013', 0) | timestamp の値 01/25/2013 は、01/01/2013 から 04/25/2013 末までに渡る 4 か月の範囲内であるため、True を返します。この期間には、base_date、04/25/2013 の値 も含まれています。 |
inmonthstodate(4, '04/26/2013', '04/25/2006', 0) | 04/26/2013 は、上の例の期間の範囲外であるため、False を返します。 |
inmonthstodate(4, '09/25/2005', '02/01/2006', -1) | period_no の値 -1が、比較対象の 期間が 4 か月 (n-months の値) ずれて、検索期間が 01/09/2005~02/01/2006 になるため、True を返します。 |
inmonthstodate(4, '04/25/2006', '06/01/2006', 0, 3) | first_month_of_year の値に 3 が設定されており、比較対象の期間が 05/01/2006~06/01/2006 ではなく、03/01/2006~06/01/2006 になっているため、True を返します。 |