Se um relatório tiver filtros e um conector da comunidade retornar dados não filtrados para todos os campos solicitados, o Looker Studio vai aplicar filtros à resposta do conector. No entanto, os filtros podem ser aplicados no nível do conector, melhorando consideravelmente o desempenho em alguns casos. As informações do filtro são transmitidas no objeto de solicitação getData(), e o conector pode usar essas informações para filtrar os dados antes de enviá-los de volta ao Looker Studio.
Por exemplo, se você estiver se conectando a um banco de dados SQL, a aplicação dos filtros diretamente na cláusula WHERE
(B3 no diagrama abaixo) pode diminuir drasticamente o número de linhas retornadas ao Looker Studio. Isso, por sua vez, limita a quantidade de dados que precisam ser processados e enviados ao Looker Studio (B5).
Regras de aplicação de filtros
- Aplique todos os filtros ou nenhum. Consulte a seção Filtros não compatíveis.
- Não inclua os campos
forFilterOnly
na resposta. AND
una cada entrada na matrizrequest.dimensionsFilters
.Por exemplo, no filtro a seguir, o conector só pode incluir valores que tenham um
country
deUSA
E umsource
deSocial
.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }], [{ "fieldName": "source", "values": ["Social"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
Use a fórmula
OR
para unir cada submatriz na matrizrequest.dimensionsFilters
.Por exemplo, no filtro a seguir, o conector só pode incluir valores em que
country
sejaUSA
OUcountry
sejaCanada
.{ "dimensionsFilters": [ [{ "fieldName": "country", "values": ["Canada"], "type": "INCLUDE", "operator": "EQUALS" }, { "fieldName": "country", "values": ["USA"], "type": "INCLUDE", "operator": "EQUALS" }] ] }
Exemplo
O exemplo a seguir mostra o fluxo completo, desde o usuário do relatório definindo os filtros até o conector da comunidade retornando dados filtrados.
O usuário do relatório configurou dois filtros:
country
está emIN_LIST
comoCanada, USA
source
está emIN_LIST
comoSocial, Organic
O usuário do relatório configurou um componente de gráfico com a dimensão
source
e a métricasessions
.getData()
é executado pelo Looker Studio com o seguinte objeto de solicitação:{ "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" }] ] }
O conector responde com dados filtrados.
No exemplo de solicitação, retorne
source
esessions
em quecountry
é"Canada"
ou"USA"
Esource
é"Social"
ou"Organic"
. DefinafiltersApplied
comotrue
, já que todos os filtros foram aplicados.
Dados originais
Fonte | Sessões | país |
---|---|---|
Mídias sociais | 60 | EUA |
Mídias sociais | 50 | Canadá |
Mídias sociais | 40 | UK |
Organic | 90 | EUA |
Organic | 80 | Canadá |
Organic | 70 | UK |
Newspaper | 30 | EUA |
Newspaper | 20 | Canadá |
Newspaper | 10 | UK |
Dados filtrados
Fonte | Sessões |
---|---|
Mídias sociais | 60 |
Mídias sociais | 50 |
Organic | 90 |
Organic | 80 |
Resposta do 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
}
Filtros não compatíveis
Se o conector não puder aplicar todos os filtros na solicitação, a filtragem não será realizada. Retorne todos os campos solicitados (incluindo os campos forFilterOnly
) e defina a chave filtersApplied
na sua resposta como false
.
Exemplos
{
"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
}