Docs Menu
Docs Home
/ /

Paneles de control integrados con filtros

Puede personalizar sus paneles integrados agregando:

  • Prefiltros. Utilice el preFilter opción con el SDK de incrustación de gráficos o agregar varios parámetros de consulta a las URL de su iframe.

  • Filtros. Utilice la opción filter con el SDK de incrustación de gráficos o añada varios parámetros de consulta a las URL de sus iframes.

Puede usar prefiltros y filtros en el mismo gráfico, aunque su uso es opcional. Los prefiltros, si se especifican, siempre se ejecutan después de las vistas y antes de la consulta y los filtros del panel. Para obtener más información sobre el orden de los segmentos de la canalización, consulte canalización de agregación.

El autor de un panel especifica los campos que se pueden incluir en los prefiltros y filtros definidos por el código de la aplicación de incrustación o añadidos por los visualizadores del panel. Un autor de panel puede limitar el acceso a los datos permitiendo que solo se filtren ciertos campos. De forma predeterminada, no se permiten campos, lo que significa que el panel no se puede filtrar hasta que se permita explícitamente al menos un campo.

Para definir campos filtrables:

  1. Desde Dashboards En la página , seleccione el panel deseado. Para obtener instrucciones sobre cómo acceder a los paneles, consulte Paneles.

  2. Para el panel deseado, haga clic en el botón y seleccione Embed en el menú desplegable.

  3. En la sección Allowed filter fields, haga clic en el botón .

    Nota

    Esta opción solo aparece si ya tiene habilitado el acceso de incrustación autenticado o no autenticado.

    Puede especificar en qué campos los espectadores del panel pueden filtrar datos:

    • Usando el menú desplegable para seleccionar los campos

    • Introducir manualmente valores para añadir campos que no aparezcan en el desplegable

    • Seleccionando Allow all fields in the data source used in this dashboard

  4. Cuando haya seleccionado todos los campos deseados, haga clic en Save debajo del menú desplegable.

Los visualizadores de paneles y las aplicaciones que los representan ahora pueden usar filtros basados ​​en los campos especificados para mostrar subconjuntos de los datos originales del panel. Si un visualizador intenta usar un filtro para un campo no incluido en el... Lista de campos de filtro permitidos, Atlas Charts devuelve un error.

Cuando agrega un campo a la lista Allowed filter fields cuyo valor es un documento incrustado, también debe especificar cada subcampo individual que desea permitir.

Ejemplo

Considere el siguiente documento:

{
"name": "Alice",
"favorites" :
{
"color": "green",
"animal": "turtle",
"season": "autumn"
}
}

Si solo agrega el favorites campo a la lista de campos permitidos,no se permite a los usuarios filtrar por ninguno de los subcampos favorites de. En su lugar, puede agregar uno o más subcampos a la lista individualmente favorites.color especificando, favorites.animal o.favorites.season

Utilice prefiltros para gráficos y paneles incrustados con un gran número de colecciones. Los prefiltros se ejecutan en una etapa anterior del proceso de creación del gráfico incrustado y permiten obtener los siguientes resultados:

  • Filtrar los datos con anticipación para reducir el tiempo de ejecución de la consulta

  • Aplicar filtros después de las vistas y antes de la ejecución de la consulta y filtros para consultas que contienen agregaciones

Los prefiltros se comportan exactamente como filtros y utilizan la misma sintaxis. La única diferencia es que se ejecutan después de las vistas y antes del inicio de las consultas y los filtros. Para obtener más información sobre el orden de los segmentos de la canalización, consulte la canalización de agregación.

Utilice el parámetro de consulta filter para mostrar únicamente los datos que coincidan con un valor específico. Filtro MQL en su panel de control incrustado en un iframe.

Solo se puede usar el filter parámetro de consulta en el Unauthenticated panel. En paneles no autenticados, el autor del panel especifica los campos que se pueden incluir en los filtros definidos por el código de la aplicación de incrustación o que pueden añadir los visualizadores del panel. Para saber cómo especificar campos filtrables, consulte Especificar campos filtrables.

Puede especificar un documento MQL como su filter parámetro de consulta siempre que los campos utilizados en su filtro estén en la lista de campos filtrables permitidos.

Su filtro debe coincidir con el formato utilizado en una consulta $match y ser:

  • Consulta de nivel superior

    Ejemplo

    { "quantity": { $gte: 20 } }
  • O dentro de expresiones booleanas ($and, $nor, $or)

    Ejemplo

    { $or: [ { quantity: { $lt: 20 } }, { price: 10 } ] }

Nota

Debe codificar en la URL los caracteres especiales del parámetro de filtro.

La siguiente URL de iframe src representa un panel que solo muestra documentos con un imdb.rating mayor o igual a 8:

https://charts.mongodb.com/charts-atlasproject1-piocy/embed/dashboards?
id=93584ddb-1115-4a12-afd9-5129e47bbb0d&
filter={"imdb.rating":%20{$gte:%208}}

La URL utiliza un parámetro filter codificado de {"imdb.rating":%20{$gte:%208}}. Descodificado, este filtro es:

{"imdb.rating": {$gte: 8}}

Puede agregar un prefiltro a un panel integrado con la preFilter opción. El prefiltro permite al autor del panel ejecutar un filtro antes de ejecutar la consulta.

En el modal Embed, debe especificar los campos que desea incluir en el prefiltro. El modal Embed contiene un menú desplegable de campos para permitir el filtrado.

A continuación se utiliza la opción preFilter para representar solo documentos en Australia:

createDashboard({
baseUrl: '<your-base-url>',
dashboardId: '<your-chart-id>',
width: 500,
height: 500,
preFilter: { "address.country": "Australia" }
})

Puede agregar un filtro a un panel incrustado con la filter opción. El filtrado permite al autor del panel mostrar únicamente los datos del panel incrustado que coincidan con un filtro MQL específico.

En el modal Embed, debe especificar los campos que desea incluir en el filtro. El modal Embed contiene un menú desplegable de campos para permitir el filtrado.

A continuación, se utiliza la opción filter para representar solo documentos en los que el campo total es mayor que 100:

createDashboard({
baseUrl: '<your-base-url>',
dashboardId: '<your-dashboard-id>',
width: 500,
height: 500,
filter: { "total": { "$gt": 100 } }
})

Al incrustar un panel que requiere acceso Authenticated, puede usar la configuración Injected function para inyectar un documento de filtro de MongoDB específico para cada usuario que lo visualice. La función tiene acceso al token de su proveedor de autenticación de incrustación mediante context.token y puede filtrar los datos del panel según dicho token.

Este filtro garantiza que los espectadores de un panel integrado solo vean sus propios datos, lo que resulta útil cuando se integra un panel con información potencialmente confidencial.

Para inyectar un filtro específico para cada usuario, en la pestaña Authenticated del cuadro de diálogo Embed, configure Injected function`setting to :guilabel:`On. Especifique una función y haga clic en Save.

Ejemplo

La siguiente función de filtro solo representa datos donde el campo ownerId de un documento coincide con el valor del campo sub del token del proveedor de autenticación de incrustación:

function getFilter(context) {
return { ownerId: context.token.sub };
}

Volver

Configurar el estilo y el tema del iframe

En esta página