Si un informe contiene filtros y un conector de la comunidad muestra datos sin filtrar para todos los campos solicitados, Looker Studio aplicará filtros a la respuesta del conector. Sin embargo, los filtros se pueden aplicar a nivel del conector de la comunidad, lo que puede mejorar significativamente el rendimiento en algunos casos. La información de filtro se pasa en el objeto de solicitud getData(), y el conector puede usar esta información para filtrar los 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 siguiente diagrama) puede disminuir de forma drástica la cantidad de filas que se muestran a Looker Studio. Esto, a su vez, limita la cantidad de datos que se deben procesar y enviar a Looker Studio (B5).
Reglas para aplicar filtros
- Aplicar todos los filtros o ninguno Consulta Filtros no compatibles
- No incluyas campos
forFilterOnly
en la respuesta. AND
junto a cada entrada en el arrayrequest.dimensionsFilters
.Por ejemplo, para el siguiente filtro, el conector solo debe incluir valores que tengan un
country
deUSA
Y unsource
deSocial
.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }], [{ "fieldName": "source", "values": ["Social"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
OR
junto a cada subarreglo del arrayrequest.dimensionsFilters
.Por ejemplo, para el siguiente filtro, el conector solo debe incluir valores que tengan un
country
deUSA
O uncountry
deCanada
.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["Canada"], "type": "INCLUDE", "operator": "EQUALS" }, { "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
Ejemplo
En el siguiente ejemplo, se muestra un flujo de extremo a extremo desde el usuario del informe que define los filtros hasta el conector de la comunidad que muestra los datos filtrados.
El usuario del informe configuró dos filtros:
country
esIN_LIST
deCanada, USA
source
esIN_LIST
deSocial, Organic
El usuario del informe configuró un componente del gráfico con la dimensión
source
y la métricasessions
.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" }] ] }
El conector responde con datos filtrados.
Para la solicitud de ejemplo, muestra
source
ysessions
, dondecountry
es"Canada"
o"USA"
Ysource
es"Social"
o"Organic"
. EstablecefiltersApplied
comotrue
, ya que todos los filtros se pudieron aplicar de forma correcta.
Datos originales
source | sesiones | country |
---|---|---|
Social | 60 | EE.UU. |
Social | 50 | Canadá |
Social | 40 | UK |
Comida orgánica | 90 | EE.UU. |
Comida orgánica | 80 | Canadá |
Comida orgánica | 70 | UK |
Periódico | 30 | EE.UU. |
Periódico | 20 | Canadá |
Periódico | 10 | UK |
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 de la solicitud, no se debe realizar ningún filtrado. Muestra todos los campos solicitados (incluidos los campos forFilterOnly
) y configura la clave filtersApplied
en tu respuesta a 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
}