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 ao conector. resposta. 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 transmitido no objeto de solicitação getData(), e o conector poderá usar esse 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
do 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, para o filtro a seguir, o conector deve incluir apenas valores com 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, para o filtro a seguir, o conector deve incluir apenas valores com um
country
deUSA
OU umcountry
deCanada
.{ "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
. esessions
métricagetData()
é 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.
Para o exemplo de solicitação, retorne
source
esessions
em quecountry
. é"Canada"
ou"USA"
E osource
é"Social"
ou"Organic"
. DefinafiltersApplied
comotrue
, já que todos os filtros puderam ser foi aplicada.
Dados originais
Fonte | Sessões | País |
---|---|---|
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 |
Dados filtrados
Fonte | Sessões |
---|---|
Social | 60 |
Social | 50 |
Organic | 90 |
Organic | 80 |
getData()
resposta
{
"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 o forFilterOnly
)
campos) e defina a chave filtersApplied
na sua resposta como false
.
Exemplo:
{
"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
}