필터

보고서에 필터가 포함되어 있고 커뮤니티 커넥터가 요청된 모든 필드에 대해 필터링되지 않은 데이터를 반환하면 Looker Studio는 커넥터 응답에 필터를 적용합니다. 하지만 커뮤니티 커넥터 수준에서 필터를 적용할 수 있으므로 경우에 따라 성능이 크게 개선될 수 있습니다. 필터 정보는 getData() 요청 객체에 전달되며 커넥터는 이 정보를 사용하여 데이터를 Looker Studio로 다시 전송하기 전에 필터링할 수 있습니다.

예를 들어 SQL 데이터베이스에 연결하는 경우 WHERE 절 (아래 다이어그램의 B3)에 직접 필터를 적용하면 Looker Studio로 반환되는 행 수가 크게 줄어들 수 있습니다. 그러면 처리되어 Looker Studio (B5)로 전송해야 하는 데이터의 양이 제한됩니다.

플로우 차트 필터링

필터 적용 규칙

  1. 필터를 모두 적용하거나 모두 적용하지 않음을 선택합니다. 지원되지 않는 필터를 참고하세요.
  2. 응답에 forFilterOnly 필드를 포함하지 마세요.
  3. ANDrequest.dimensionsFilters 배열의 각 항목을 함께 표시합니다.

    예를 들어 다음 필터의 경우 커넥터는 countryUSA sourceSocial인 값만 포함해야 합니다.

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }],
        [{
          "fieldName": "source",
          "values": ["Social"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
  4. ORrequest.dimensionsFilters 배열의 각 하위 배열을 포함합니다.

    예를 들어 다음 필터의 경우 커넥터에는 countryUSA 또는 countryCanada인 값만 포함되어야 합니다.

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["Canada"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }, {
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
입니다.

다음 예에서는 필터를 정의하는 보고서 사용자부터 필터링된 데이터를 반환하는 커뮤니티 커넥터까지의 엔드 투 엔드 흐름을 보여줍니다.

필터 예시

  1. 보고서 사용자가 다음 두 가지 필터를 구성했습니다.

    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로 설정합니다.

원본 데이터

소스 sessions country
소셜 60 미국
소셜 50 캐나다
소셜 40 영국
자연 검색 90 미국
자연 검색 80 캐나다
자연 검색 70 영국
신문 30 미국
신문 20 캐나다
신문 10 영국

필터링된 데이터

소스 sessions
소셜 60
소셜 50
자연 검색 90
자연 검색 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
}