時間ベースフィルタリング
SAQL では、さまざまな方法で日付範囲を指定して調査を行うことができます。たとえば、「前回の会計四半期のすべての商談」や「過去 7 日間のすべてのケース」のような指定が可能です。
フィルターの日付範囲を使用する
次のフィルターを使用して、調査する日付範囲を指定します。
- 固定日付範囲。たとえば、2018 年 8 月 1 日から 2017 年 6 月 2 日の間のように指定します。
- 相対日付範囲。たとえば、2 年前から先月の間のように指定します。
- 無制限の範囲。たとえば、2018 年 4 月 2 日より前のように指定します。
- 日付の加算および減算。たとえば、一昨日からの過去 3 か月間にあるすべてのレコードのように指定します。
例: 今月完了した商談を表示する
今月完了した商談を確認したいとします。データには取引先名、完了日付項目、エポック秒項目が含まれています。

date() を使用して、日付形式の完了日付を生成します。次に、相対日付範囲を使用して、現在の月に完了した商談を絞り込みます。
1q = load "OpsDates1";
2q = filter q by date(’CloseDate_Year’, ‘CloseDate_Month’, ‘CloseDate_Day’) in ["current month" .. "current month"];
3q = foreach q generate Account;2018 年 5 月にクエリを実行した場合、結果のデータストリームには 1 つのエントリが含まれます。

読みやすい形式で完了日を追加するには、toDate() を使用します。
1q = load "OpsDates1";
2q = filter q by date('CloseDate_Year', 'CloseDate_Month', 'CloseDate_Day') in ["current month" .. "current month"];
3q = foreach q generate Account, toDate('CloseDate_sec_epoch') as 'Close Date';結果のデータストリームには、完了日の完全な日時が含まれます。

完了日の月と日のみを表示することもできます。
1q = load "OpsDates1";
2q = filter q by date('CloseDate_Year', 'CloseDate_Month', 'CloseDate_Day') in ["current month" .. "current month"];
3q = foreach q generate Account, 'CloseDate_Month' + "/" + 'CloseDate_Day' as 'Close Date';結果のデータストリームには、完了日の月と日が含まれます。

固定日付範囲
dateRange() を使用して、フィルターの固定日付範囲を指定します。
1dateRange(startArray_y_m_d, endArray_y_m_d)startArray_y_m_d は、開始日を指定する配列です。
endArray_y_m_d は、終了日を指定する配列です。
たとえば、2014 年 10 月 2 日から 2016 年 8 月 16 日の間にあるすべてのレコードを返します。
1q = filter q by date('CreatedDate_Year', 'CreatedDate_Month', 'CreatedDate_Day') in [dateRange([2014,10,2], [2016,8,16])];相対日付範囲
相対日付範囲は、「前の会計四半期で各営業担当が完了した商談はいくつありますか?」のような質問に答える場合に使用します。相対日付範囲を指定するには、相対日付キーワードを含む配列で in 演算子を使用します。たとえば、1 年前から���年までのすべてのレコードを返します。
1q = filter q by date('CloseDate_Year', 'CloseDate_Month', 'CloseDate_Day') in ["1 year ago".."current year"];2 四半期前から 2 四半期後までのすべてのレコードを返します。
1q = filter q by date('CloseDate_Year', 'CloseDate_Month', 'CloseDate_Day') in ["2 quarters ago".."2 quarters ahead"];過去の 2 会計年度から本日までのすべてのレコードを返します。
1q = filter q by date('CloseDate_Year', 'CloseDate_Month', 'CloseDate_Day') in ["2 fiscal_years ago".."current day"];次の相対日付キーワードを使用します。
- current day
- n day(s) ago
- n day(s) ahead
- current week
- n week(s) ago
- n week(s) ahead
- current month
- n month(s) ago
- n month(s) ahead
- current quarter
- n quarter(s) ago
- n quarter(s) ahead
- current fiscal_quarter
- n fiscal_quarter(s) ago
- n fiscal_quarter(s) ahead
- current year
- n year(s) ago
- n year(s) ahead
- current fiscal_year
- n fiscal_year(s) ago
- n fiscal_year(s) ahead
無制限の日付範囲
「2014 年 12 月 23 日より後に完了したすべての商談を表示」のようなクエリでは、無制限の日付範囲を使用します。たとえば、今月までのすべてのレコードを返します。
1q = filter q by date('CloseDate_Year', 'CloseDate_Month', 'CloseDate_Day') in [.."1 year ago"];完了した相対日付範囲を指定することもできます。たとえば、1 年前までのすべてのレコードを返します。
1q = filter q by date('CloseDate_Year', 'CloseDate_Month', 'CloseDate_Day') in ["3 years ago"..];日付の加算と減算
相対日付キーワードを使用して、日付の加算と減算を実行できます。たとえば、1 年前から本日までのすべてのレコードを返します。
1q = filter q by date('CloseDate_Year', 'CloseDate_Month', 'CloseDate_Day') in ["current day - 1 year"..];本日から 2 年前までのすべてのレコードと、本日から 3 か月後のすべてのレコードを返します。
1q = filter q by date('CloseDate_Year', 'CloseDate_Month', 'CloseDate_Day') in ["current day".."2 years ahead + 3 months"];