空の日付フィールドのフィルタリング

時々、データは不完全であるか任意であるため、Analytics テーブルのフィールドが空欄になる場合があります。Analytics の式が空の日付フィールドを比較するときに、空の日付は最小システム値の 1900-01-01 として処理されます。日付を比較する式を作成するときには、常に、この動作を考慮する必要があります。

受注テーブル

次の受注テーブルを操作し、2011 年より前に送信されたすべての注文を分析できるようにフィルタリングします。レコードに注文日がない場合、キャンセル済み注文を表し、フィルタリングされたレコードに含めません。

Product_Category Base_Margin Order_Date Order_ID 優先度 Quantity Tax_Rate カテゴリー
小規模事業 0.04   3 6 0.8 事務用品
消費者 0.07   293 49 0.58 事務用品
消費者 0.01 07/23/2012 293 27 0.39 事務用品
企業 0.08 10/15/2010 483 30 0.58 技術
消費者 0.08 08/28/2010 515 指定されていません 19 0.5 事務用品
消費者 0.05 08/28/2010 515 指定されていません 21 0.37 家具
企業 0.03 06/17/2011 613 12 0.38 事務用品
企業 0.09 06/17/2011 613 22 0 事務用品
企業 0.07 03/24/2012 643 21 0 事務用品
ホームオフィス 0.07 02/26/2009 678 44 0.38 事務用品

簡易フィルターの使用

テーブルを最初にフィルタリングしようとするときには、次の簡易式を使用して、2011 年以降のすべての注文を除外します。

ヒント

リテラル日付値を囲むバッククオート ` に注意してください。リテラル日付時刻値は常にこの修飾子で囲む必要があります。詳細については、データ型を参照してください。

COMMENT 2011 年 1 月 1 日以降の注文日付を含むレコードを除外
SET FILTER TO Order_Date < `20110101`

最初のフィルター結果

Analytics は空の日付値を 1900-01-01 として処理し、1900 年 1 月 1 日は 2011 年 1 月 1 日よりも前であるため、結果は除外したい空の Order_Date フィールドがあるレコードを含みます。

Product_Category Base_Margin Order_Date Order_ID 優先度 Quantity Tax_Rate カテゴリー
小規模事業 0.04   3 6 0.8 事務用品
消費者 0.07   293 49 0.58 事務用品
企業 0.08 10/15/2010 483 30 0.58 技術
消費者 0.08 08/28/2010 515 指定されていません 19 0.5 事務用品
消費者 0.05 08/28/2010 515 指定されていません 21 0.37 家具
ホームオフィス 0.07 02/26/2009 678 44 0.38 事務用品

フィルタリング中に空欄を確認する

関数を使用するときには、2011 年以降のレコードを除外する前に空のデータ フィールドを除外できます。

ISBLANK( ) 関数はテキスト値が空の場合に真を返すため、Order_Date フィールドの操作によっては、空の値を除外できます。

COMMENT 空のフィールドと 2011 年以降の注文日を除外する
SET FILTER TO NOT ISBLANK(DATETIME(Order_Date)) AND Order_Date < `20110101`

この式が評価されるときには、関数が内部から実行され、次の処理が発生します。

  1. DATETIME( ) 関数が Order_Date 日付値をテキスト値 (`20100828` から "20100828") に変換します。
  2. ISBLANK( ) 関数は、テキスト値が空白であるかどうかを確認し、真または偽を評価します。
  3. NOT 演算子は ISBLANK( ) から返される論理値を反転します。
    • 注文日が空白(真)の場合、値は偽に反転され、このレコードがフィルターにより除外されます
    • 注文日が空(偽)でない場合には、値は真に反転され、フィルターにより、注文日が 2011 よりも前かどうかがチェックされて、注文日の値が 2011 年 1 月 1 日よりも前のすべてのレコードが包含されます

ヒント

下位式が AND 演算子の両側で真と評価されるレコードのみが含まれます。下位式のいずれかが偽と評価される場合、レコードは除外されます。

2 番目のフィルター結果

注文が 2011 年よりも前に登録されたかどうかをテストする前に空の値を除外したため、このフィルターの結果は最初のようにキャンセル済み注文を含みません。

Product_Category Base_Margin Order_Date Order_ID 優先度 Quantity Tax_Rate カテゴリー
企業 0.08 10/15/2010 483 30 0.58 技術
消費者 0.08 08/28/2010 515 指定されていません 19 0.5 事務用品
消費者 0.05 08/28/2010 515 指定されていません 21 0.37 家具
ホームオフィス 0.07 02/26/2009 678 44 0.38 事務用品
ACL のスクリプト作成ガイド 14.1