この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

時間ベースフィルタリング

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

標準会計期間のみがサポートされています。Salesforce ヘルプの「会計年度について」を参照してください。

メモ

無制限の日付範囲

「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"];