Filtros

Si un informe contiene filtros y un conector de comunidad devuelve datos sin filtrar, haz lo siguiente: para todos los campos solicitados, Looker Studio aplicará filtros al conector. respuesta. Sin embargo, los filtros se pueden aplicar a nivel del conector de la comunidad, que puede mejorar significativamente el rendimiento en algunos casos. La información del filtro es pasan en el objeto de solicitud getData(), y el conector puede usar este para filtrar datos antes de enviarlos de vuelta a Looker Studio.

Por ejemplo, si te conectas a una base de datos SQL, aplicar los filtros directamente en la cláusula WHERE (B3 en el diagrama siguiente) puede disminuir drásticamente la cantidad de filas que se devolvieron a Looker Studio. Esto, a su vez, limita la cantidad de datos que se deben procesar y enviar a Looker Studio (B5).

Diagrama de flujo de filtros

Reglas de aplicación de filtros

  1. Aplica todos los filtros o ninguno. Consulta Filtros no compatibles.
  2. No incluyas campos forFilterOnly en la respuesta.
  3. AND juntas cada entrada del array request.dimensionsFilters.

    Por ejemplo, para el siguiente filtro, el conector solo debe incluir valores que tengan una country de USA Y un source de Social.

    {
      "dimensionsFilters": [
        [{
          "fieldName": "country",
          "values": ["USA"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }],
        [{
          "fieldName": "source",
          "values": ["Social"],
          "type": "INCLUDE",
          "operator": "EQUALS"
        }]
      ]
    }
    
  4. OR junta cada subarray del array request.dimensionsFilters.

    Por ejemplo, para el siguiente filtro, el conector solo debe incluir valores que tengan una country de USA O un country de Canada.

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

Ejemplo

En el siguiente ejemplo, se ilustra un flujo de extremo a extremo del usuario del informe definiendo los filtros al conector de la comunidad devolviendo los datos filtrados.

Filtro de ejemplo

  1. El usuario del informe configuró dos filtros:

    1. country es IN_LIST de Canada, USA
    2. source es IN_LIST de Social, Organic
  2. El usuario del informe configuró un componente de gráfico con la dimensión source. y sessions métrica

  3. Looker Studio ejecuta getData() con el siguiente objeto de solicitud:

    {
      "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. El conector responde con datos filtrados.

    Para la solicitud de ejemplo, muestra source y sessions, donde country es "Canada" o "USA" Y el source es "Social" o "Organic". Se estableció filtersApplied en true, ya que todos los filtros se pudieron se aplicó correctamente.

Datos originales

source sesiones country
Social 60 Estados Unidos
Social 50 Canadá
Social 40 Reino Unido
Comida orgánica 90 Estados Unidos
Comida orgánica 80 Canadá
Comida orgánica 70 Reino Unido
Periódico 30 Estados Unidos
Periódico 20 Canadá
Periódico 10 Reino Unido

Datos filtrados

source sesiones
Social 60
Social 50
Comida orgánica 90
Comida orgánica 80

getData() respuesta

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

Filtros no compatibles

Si el conector no puede aplicar todos los filtros en la solicitud, no se deben aplicar una tarea. Devuelve todos los campos solicitados (incluido forFilterOnly). y configura la clave filtersApplied en tu respuesta como false.

Ejemplo:

{
  "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
}