フィルタ

レポートにフィルタが含まれていて、コミュニティ コネクタがフィルタされていないデータを返す場合 リクエストされたすべてのフィールドに対してフィルタが適用されると、コネクタにフィルタが適用されます。 レスポンスが返されます。ただし、コミュニティ コネクタレベルでフィルタを適用すると、場合によってはパフォーマンスが大幅に向上します。フィルタ情報: getData() リクエスト オブジェクトで渡され、コネクタはこのオブジェクトを使用して 情報を使用してデータをフィルタし、Looker Studio に返送します。

たとえば、SQL データベースに接続する場合は、 WHERE 句(下の図の B3)に直接追加すると、 Looker Studio に返される行数ですその結果、 処理して Looker Studio(B5)に送信する必要があります

フィルタのフローチャート

フィルタを適用するルール

  1. すべてのフィルタが適用されるか、まったく適用されないかのいずれかです。詳しくは、サポートされていないフィルタを参照してください
  2. レスポンスに forFilterOnly フィールドを含めないでください。
  3. request.dimensionsFilters 配列の各エントリを AND でつなぎます。

    たとえば、次のフィルタの場合、コネクタには countryUSA かつ sourceSocial の値。

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }],
        [{
          "fieldName": "source",
          "values": ["Social"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
  4. request.dimensionsFilters 配列の各サブ配列を OR でつなぎます。

    たとえば、次のフィルタの場合、コネクタには countryUSA または countryCanada の値。

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["Canada"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }, {
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
で確認できます。

次の例は、レポート ユーザーがフィルタを定義するときから、コミュニティ コネクタがフィルタ処理されたデータを返すときまでのフロー全体を示しています。

フィルタの例

  1. レポート ユーザーは 2 つのフィルタを作成しました。

    1. country は、Canada, USAIN_LIST になります。
    2. source は、Social, OrganicIN_LIST になります。
  2. レポート ユーザーは、source ディメンションでグラフ コンポーネントを設定しました および sessions 指標

  3. getData() は、次のリクエスト オブジェクトを使用して Looker Studio によって実行されます。

    {
      "fields": [
        {"name": "source"},
        {"name": "sessions"},
        {"name": "country", "forFilterOnly": true}
      ],
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["Canada", "USA"],
          "type": "INCLUDE",
          "operator": "IN_LIST"
        }],
        [{
          "fieldName": "source",
          "values": ["Social", "Organic"],
          "type": "INCLUDE",
          "operator": "IN_LIST"
        }]
      ]
    }
    
  4. コネクタはフィルタ処理されたデータでレスポンスします。

    このリクエスト例では、 sourcesessions を返します。 country "Canada" または "USA" であり、かつ source"Social" または "Organic" である。 すべてのフィルタが使用可能になったため、filtersAppliedtrue に設定しました 適用されました。

元のデータ

source sessions country
Social 60 USA
Social 50 Canada
Social 40 UK
Organic 90 USA
Organic 80 Canada
Organic 70 UK
Newspaper 30 USA
Newspaper 20 Canada
Newspaper 10 UK

フィルタされたデータ

source sessions
Social 60
Social 50
Organic 90
Organic 80

getData() レスポンス

{
  "schema": [
    {"name": "source",   "dataType": "STRING"},
    {"name": "sessions", "dataType": "NUMBER"},
  ],
  "rows": [
    {"values": ["Social", 60]},
    {"values": ["Social", 50]},
    {"values": ["Organic", 90]},
    {"values": ["Organic", 80]}
  ],
  "filtersApplied": true
}

サポートされていないフィルタ

コネクタがリクエスト内のフィルタをひとつでも適用できない場合、フィルタは実行されません。リクエストされたすべてのフィールド(forFilterOnly を含む)を返す レスポンスの filtersApplied キーを false に設定します。

例:

{
  "schema": [
    {"name": "source",   "dataType": "STRING"},
    {"name": "sessions", "dataType": "NUMBER"},
    {"name": "country",  "dataType": "STRING"}
  ],
  "rows": [
    {"values": ["Social", 60, "USA"]},
    {"values": ["Social", 50, "Canada"]},
    {"values": ["Social", 40, "UK"]},
    {"values": ["Organic", 90, "USA"]},
    {"values": ["Organic", 80, "Canada"]},
    {"values": ["Organic", 70, "UK"]},
    {"values": ["Newspaper", 30, "USA"]},
    {"values": ["Newspaper", 20, "Canada"]},
    {"values": ["Newspaper", 10, "UK"]},
  ],
  "filtersApplied": false
}