Filtrar resultados do gráfico
Nesta página
Os filtros exibem um subconjunto de resultados que correspondem a um determinado critério. O Atlas Charts fornece duas maneiras de filtrar os dados para um único gráfico. Você pode usar:
Os campos numéricos, de string, de data ou booleanosda guia Filtro atendem à maioria de suas necessidades de filtragem de dados.
A Barra de query para filtrar seus dados usando queries mais complexas, como queries de operador lógico, ou processar dados brutos usando o pipeline de agregação.
Para saber como filtrar resultados em vários gráficos no painel, consulte Filtrar painéis por valores de campo.
Criar filtros para os seus dados
O construtor de gráfico contém uma guia de filtro onde você pode arrastar e soltar campos para especificar filtros para seus dados. Para filtrar dados usando a guia Filtro:
Clique na guia central no construtor de gráficos:
Arraste um campo do Fields à esquerda para a seção Chart Filters da guia.
O tipo de dados do campo selecionado determina as opções de filtragem disponíveis. Você pode filtrar campos com os seguintes tipos de dados:
Ao arrastar um campo numérico para o painel de filtro, você pode filtrar com base em valores mínimos e/ou máximos para esse campo.
Para especificar um valor mínimo: | Para especificar um valor máximo: |
---|---|
|
|
Exemplo
Se você tiver um valor mínimo de 5
com a configuração Inclusive ativada, o Atlas Charts exibirá documentos em que o campo é maior ou igual a 5
.
Como alternativa, se Inclusive estiver desativado, o Atlas Charts exibirá documentos onde o campo é maior que 5
.
Quando você arrasta uma string ou campo ObjectId para o painel de filtro, o Atlas Charts exibe uma lista de até 20 valores de campo distintos. Se existirem mais de 20 valores distintos, os Atlas Charts exibirão 20 valores selecionados aleatoriamente.
A lista também inclui:
NULL / MISSING para documentos com valores
null
para o campo ou sem o campo.Empty String para documentos com valores
""
para o campo de string. (Somente campos de string.)
Selecione os valores a serem exibidos no gráfico. Por padrão, todos os valores estão selecionados.
Dica
Se todos os valores estiverem selecionados, você poderá clicar em Deselect All na parte superior da lista para ocultar todos os valores.
Se nem todos os valores estiverem selecionados, você poderá clicar em Select All para retornar ao estado padrão de ter todos os valores exibidos.
Exibir strings e ObjectIds que não estão na lista
Para exibir um valor específico não incluído na lista, adicione o valor clicando em Add Value.
Importante
Para campos ObjectId , o valor inserido deve ser um ObjectId bem formado, caso contrário, o Atlas Charts não aceitará o valor.
Para exibir todos os outros valores não incluídos na lista, marque All other values.
Ao arrastar um campo de data para o painel de filtro, você pode filtrar com base em um intervalo de datas especificado. Esse intervalo pode ser:
Uma faixa de datas relativas, que especifica uma faixa relativa ao momento em que o gráfico é renderizado (por exemplo, os últimos seis meses).
Um intervalo de datas com base no tempo atual em que o gráfico é renderizado, com uma escolha de períodos.
Um intervalo de datas absoluto, que é um intervalo entre datas de início e término específicas.
Selecione a guia apropriada para obter mais informações sobre o filtro de data:
Os filtros de data relativa especificam um intervalo relativo ao momento em que o gráfico é renderizado. Para definir a faixa de datas, especifique um período de tempo no passado e/ou um período de tempo no futuro em relação à data atual. Relative é a opção de filtragem de data padrão.
Para definir um limite inferior para o filtro de data: | Para definir um limite superior para o filtro de data: |
---|---|
|
|
Exemplo
O filtro de data relativa a seguir mostra apenas documentos com um campo Workout Date (As Date)
que é mais recente do que um ano atrás a partir da data atual:
Os filtros de data do período especificam um intervalo em relação ao tempo atual em que o gráfico é renderizado. Para definir um intervalo de datas para o período, selecione Period na parte superior do cartão de filtro de datas.
As opções de período incluem:
Hour do topo da hora
Day a partir da meia-noite
Week a partir da meia-noite de domingo
Month a partir da meia-noite no 1st do mês
Year a partir da meia-noite de 1janeiro
O filtro de data do período também tem opções de uso. Juntamente com o período, as opções de uso permitem definir uma janela exata de tempo no passado, presente ou futuro.
As opções de uso do período incluem:
Direção. Você pode selecionar Previous para mostrar períodos anteriores ou Next para mostrar períodos futuros.
Contagem. Você pode definir o número de períodos a serem exibidos.
Incluir período atual. Você pode incluir o período atual na janela de tempo especificada.
As opções de uso do período funcionam juntas. Os dados que os Atlas Charts exibem para o período Month dependem da direção, contagem e seleção Include current period .
Os Atlas Charts conta o número de períodos que você especifica para trás (para Previous) ou para a frente (para Next). A contagem começa no início do período atual (com Include current period selecionado) ou no início do último período concluído (sem Include current period selecionado). O Atlas Charts exibe os dados desde o início do(s) período(s) selecionado(s) até o final do(s) período(s) selecionado(s).
Exemplo
Se hoje é 8 de dezembro e você define um filtro de data de período em released
com as seguintes seleções:
Previous
3
Months, e
Include current period selecionado
Os Atlas Charts mostrariam documentos com uma data de lançamento de 1 de outubro deste ano a 31 de dezembro deste ano, incluindo as datas de início e término.
No entanto, se você definir o mesmo filtro sem selecionar Include current period, o Atlas Charts mostrará documentos com uma data de lançamento de 1 de setembro deste ano a 30 de novembro deste ano, incluindo as datas de início e término.
Para definir um filtro de data de período:
Selecione uma direção de período no primeiro menu suspenso.
Insira um valor numérico para a contagem de períodos no campo de entrada de texto . Você pode inserir números inteiros ou valores decimais.
Escolha um período no próximo menu suspenso.
(Opcional) Desmarque Include current period para excluir o período atual. Include current period é a seleção padrão.
Os filtros de data absoluta usam datas absolutas para definir seus limites superiores e inferiores. Para definir um intervalo de datas absoluto, selecione Absolute na parte superior do seu cartão de filtro de datas. Por padrão, pressupõe-se que as datas especificadas no filtro estejam em UTC, correspondendo aos dados brutos na collection. Você pode especificar um fuso horário para o seu filtro ajustar os valores de data conforme desejado.
Para definir um limite inferior para o filtro de data: | Para definir um limite superior para o filtro de data: |
---|---|
|
|
Observação
Os formatos de data e hora usados em seus limites dependem da sua localização, conforme determinado pelas configurações do navegador.
Exemplo
O seguinte filtro de data absoluta mostra apenas documentos com um campo Workout Date (As Date)
do ano 2018
:
O filtro retorna todos os documentos com um campo Workout Date (As Date)
de January 1, 2018 12:00:00
AM
inclusive, para January 1, 2019 12:00:00 AM
exclusivamente.
Especifique um fuso horário
Use o menu suspenso Time Zone na parte inferior do cartão de filtro para especificar um fuso zona para o filtro de datas absolutas.
Por padrão, o MongoDB armazena valores de data em UTC. Quando você altera o fuso zona, o Charts modifica seus valores de data em relação ao fuso zona selecionado. Como resultado, documentos diferentes podem ser retornados pelo filtro de data absoluta, dependendo do fuso zona selecionado.
Exemplo
Considere um filtro de data absoluta que vai de de janeiro 1 a2018 12:00:00 AM inclusive até de janeiro 1 de2019 12:00:00 AM exclusivamente. Por padrão, um documento com uma data UTC de janeiro de 1, 2019 2:00:00 AM não seria incluído nesse intervalo de datas. No entanto, se ajustarmos o fuso zona para Central America (UTC-06:00), esse documento será retornado porque a data ajustada é de dezembro 31 de 2018 8:00:00 PM.
Você pode filtrar os dados do gráfico com base no valor booleano de um campo específico. Arraste um campo booleano para o painel de filtro para visualizar as opções disponíveis:
True exibe documentos onde o valor de campo é
true
.False exibe documentos onde o valor de campo é
false
.NULL / MISSING exibe documentos onde o campo é
null
ou não existe.
Todas as opções são selecionadas por padrão. A visualização do gráfico é atualizada conforme você modifica as opções selecionadas. Desmarcar todas as opções renderiza um gráfico em branco.
Exemplo
Um gráfico usando o filtro a seguir exibe apenas documentos onde o campo passed
é true
. O gráfico não exibe documentos onde o campo passed
é false
, null
ou não existe.
Observação
Você não pode usar o mesmo campo em vários filtros.
Habilitar ou desabilitar um filtro
Você pode alternar se um filtro na guia Filter está habilitado ou desabilitado. Filtros desabilitados não afetam os documentos que aparecem no gráfico. Os filtros desativados ficam esmaecidos e não podem ser editados até que estejam habilitados.
Para alternar se um filtro está ativado, passe o mouse sobre um filtro e defina o botão de alternância que aparece na parte superior do filtro para a configuração desejada.
Expandir ou recolher um filtro
Você pode expandir ou recolher cartões de filtro de gráfico clicando em Show ou Hide neste cartão.
Os filtros desativados são recolhidos automaticamente.
Os filtros ativados e recolhidos ainda serão aplicados aos seus gráficos.
Filtre seus dados usando a barra de query
A barra Query acima da exibição do gráfico suporta queries mais complexas do que o painel de filtro. Além disso, você pode usar a barra de query para criar pipelines de agregação para processar seus dados antes que eles sejam renderizados.
Para filtrar dados usando a barra Query:
Na barra Query, insira um documento de filtro. Use a mesma sintaxe usada na parte de consulta do método db.collection.find() . Seu documento de filtro deve estar entre chaves.
Clique em Apply.
As seguintes guias mostram como construir queries com os seguintes operadores:
$or
operador lógico para corresponder a documentos onde pelo menos uma cláusula é verdadeira$exists
operador de query para combinar documentos com um elemento que existe$regex
operador de query para combinar documentos com uma expressão regularDate
campo para combinar documentos com datas específicas
O gráfico abaixo mostra os cinco principais países (Limit Results sob o X Axis foi habilitado e definido como 5) em termos do número de diretores que criaram um documentário ou um filme biográfico.
O gráfico usa a seguinte query:
{ $or: [ { genres: "Documentary" }, { genres: "Biography" } ] }
genres
é uma matriz onde cada elemento é um gênero de filme. Este filtro garante que apenas os realizadores que
um documentário ou um filme biográfico sejam incluídos na contagem total de diretores de um
país.
O gráfico a seguir mostra a média de classificações de filmes do Metacritic ao longo do tempo, agrupados por períodos de 5 anos.
O gráfico usa a seguinte query:
{ 'writers.1': { $exists: true }}
writers
é uma matriz onde cada elemento é um escritor que contribui para o filme. Esse filtro garante que somente documentos com pelo menos dois gravadores sejam considerados na classificação média do Metacritic, verificando a existência do segundo elemento da array.
Utilize o operador de query $regex
para filtrar utilizando uma expressão regular :
{ <field>: { $regex: "pattern", $options: "<options>" } }
Por exemplo, para localizar todos os documentos onde o campo jobs
começa com a letra A
, você escreveria o seguinte na barra Query :
{ "jobs" : { $regex : "^A" } }
Para encontrar todos os documentos onde o campo jobs
começa com a letra A
ou a
, você escreveria o seguinte na barra Query :
{ "jobs" : { $regex : "^A", $options : "i" } }
O gráfico a seguir mostra os valores totais de venda de uma empresa de suprimentos de escritório, categorizados por método de compra:
O gráfico usa a seguinte query:
{ $and: [ { saleDate: { $gte: new Date("2017-01-01") } }, { 'items.4': { $exists: true } } ] }
Cada documento na collection representa uma única venda. items
é uma array em que cada elemento é um item comprado durante uma venda.
Esta query restringe os documentos mostrados somente aqueles com um saleDate
igual ou mais recente que January 1, 2017
com pelo menos 5 elementos na array items
.
Erros de query de endereço
Se sua query for inválida, os gráficos exibirão o ícone na barra Query.
Clique na barra Query se ela ainda não estiver exibida para visualizar os detalhes de erro. O Charts exibe detalhes de erro para:
Erros do lado do cliente, como JSON malformado, e
Erros do lado do servidor, como MQL inválido.
Analise os detalhes do erro e ajuste sua query de acordo.
Considerações
Os filtros em coleções grandes podem apresentar problemas de desempenho se a coleção não for indexadaadequadamente.
As funções de data usadas na barra de query do Atlas Charts são consistentes e compatíveis com as funções de data usadas no mongo shell. Como resultado, você pode usar:
new Date()
,ISODate()
, ounew ISODate()
.
A função
Date()
(em oposição ao construtornew Date()
) retorna a data atual como uma string, então não pode ser utilizado para fazer query das datas em Charts.