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

fill

fill() を使用すると、日付項目のギャップを補足できます。チェックする日付項目を指定すると、FILL() により、欠落している月、日、週、四半期、または年が含まれ、null 値が含まれる行が作成されます。データの日付範囲の境界外の値を含めるには、開始日と終了日を指定して、既存の制限を上書きします。この関数は、null 値が含まれる欠落している日付行を返します。

構文

名前 説明
resultSet 必須。fill() 関数の入力として機能するクエリ結果。
dateCols 必須。

date_fields — ギャップの有無をチェックする日付項目。

日付形式の文字列には、次の値を使用できます。

  • 'yearField'、‘'monthField''Y-M'
  • 'yearField''quarterField''Y-Q'
  • 'yearField''Y'
  • 'yearField''weekField''Y-W'
  • 'yearField''monthField''dayField''Y-M-D'

startDate — データの日付範囲を超える開始日の値。

endDate — データの日付範囲のを超える終了日の値。

  • startDateendDate は、一緒に使用することも、どちらか一方のみを使用することもできます。
  • startDate を省略した場合、開始日はデータセット内の最も古い日付になります。
  • endDate を省略した場合、終了日はデータセット内の最も新しい日付になります。
  • startDateendDate がデータセットの境界内にある場合、fill() はそれらの項目を無視します。
partition 省略可能。クエリ結果をより小さなパーティションに分割するために使用される項目。この項目の値が変更されると、fill() 関数はリセットされます。特定のパーティションについて、それぞれの行グループが完了すると、fill() は次のパーティションで実行されます。

この例では、fill() を使用して、欠落している四半期と年の値を旅行者データに追加します。

クエリによって、最初に年、四半期、および各四半期の旅行者数が返されます。データセットに示されている最初の 3 年間の結果に基づき、使用可能な日付データは、第一四半期のデータのみとなっています。

これは q = load "TouristsData"; q = foreach q generate date_Year, date_Quarter, tourists; の結果です。

四半期 旅行者
2001 1 4127
2002 1 4173
2003 1 4621

fill()date_cols 配列で入力データを四半期と年によってグループ化するように指定します。年と四半期のデータセットを完全なものにするために、fill() は、それぞれの年に第二四半期、第三四半期、第四四半期を追加し、その旅行者数として null 値を追加します。

四半期 旅行者
2001 1 4127
2001 2 -
2001 3 -
2001 4 -
2002 1 4173
2002 2 -
2002 3 -
2002 4 -
2003 1 4621
2003 2 -
2003 3 -
2003 4 -

拡張された日付範囲の例

このクエリでは、date_Monthdate_Year がデータセットの日付値の前または後になっているか、指定されたデータ内にギャップがある旅行者について null 値を返します。

date_Month date_Year 旅行者
10 2000 -
11 2000 -
12 2000 -
01 2001 41,735
02 2001 -
03 2001 -
04 2001 26,665
05 2001 -
06 2001 -
07 2001 -