Te ofrecemos esta traducción automática para facilitar la lectura.
En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.
Variables de plantilla: filtrar dinámicamente el panel
Para personalizar el panel, puede utilizar template variables para filtrar dinámicamente gráficos y otros widgets. Las variables de plantilla ayudan a que su panel sea más útil y le ayudan a crear más fácilmente un panel que puede reutilizar para diferentes casos de uso.
¿Por qué utilizar variables de plantilla?
Las variables de plantilla son una forma potente y dinámica de filtrar un dashboard completo en función de valores de metadatos específicos que elija el creador dashboard . Los beneficios de utilizar variables de plantilla son:
Hacen que el panel sea más fácil de usar: su usuario no tiene que comprender la estructura de los datos, sino que simplemente puede elegir entre varias opciones de filtro que haya configurado.
Le permiten crear plantillas dashboard reutilizables, que luego puede duplicar y ajustar para muchos otros usos.
A continuación se muestra un ejemplo de un dashboard con varias variables de plantilla, que puede ver en la parte superior del dashboard.
Con las variables de plantilla, puede configurar una amplia variedad de variables y filtros para crear la experiencia dashboard que necesita. Ejemplos de experiencias que puedes crear:
Un menú desplegable para elegir el nombre de una aplicación
Un menú desplegable para elegir regiones específicas
Un menú desplegable para seleccionar duraciones específicas u otros valores numéricos
Filtros que utilizan campos de texto libre para encontrar cadenas coincidentes
Requisitos y limitaciones
Las variables de plantilla solo se pueden utilizar en el contexto de personalizar el widget para el panel de control. Consulte Variables NRQL para utilizar variables en una consulta NRQL.
La consulta con variables de plantilla solo se puede utilizar en el contexto de un dashboard. Por este motivo, algunas características relacionadas con la consulta no funcionan. Por ejemplo, la opción Export dashboard as PDF no admite widgets con variables.
Puntos importantes a tener en cuenta al agregar una consulta:
La variable que definiste va dentro de los corchetes {{ … }} .
La variable genera un valor de cadena.
Para ayudarte cuando estás creando una consulta, hay un código de color:
Las cláusulas from, select, facet y where están en rosa.
Para conocer las restricciones relacionadas con la consulta de redacción, consulte Consulta de redacción.
Usar variables de plantilla
Lo guiaremos en la creación de una variable de plantilla y luego le daremos algunos ejemplos de diferentes tipos de variables de plantilla.
La creación de una variable de plantilla consta de dos pasos.
Primero, definirá una variable de plantilla. Esta es la variable que usará en una consulta NRQL para crear un widget.
Para definir una variable:
Desde un nuevo dashboard sin variables, haga clic en editar botón y, a continuación, haga clic en el botón + Add variable ubicado en la esquina superior izquierda. Una vez que terminó de agregar variables, haga clic en Done editing.
Si el dashboard incluye un widget, haga clic en el botón + Add variable.
Complete el flujo de trabajo Add variable . A continuación se presentan algunas reglas y consejos para cada uno de los campos.
Campo
Detalles
Nombre a utilizar en consulta
El nombre de la variable. Esto es lo que usarás en la consulta, rodeado por {{...}}. Por ejemplo, si usa country aquí como nombre, al escribir una consulta llamará a la variable con {{country}}.
Los nombres de las variables deben comenzar con una letra y pueden contener letras, números y guiones bajos.
Nombre para mostrar
Opcional. Así es como se mostrará la variable encima del dashboard para que el usuario dashboard sepa qué representa la variable. Si se deja en blanco, se utilizará el valor del nombre principal.
Tipo
Hay tres opciones:
Query: Puede escribir una consulta que devolverá una lista dinámica de opciones utilizadas en el menú desplegable. Por ejemplo, la siguiente consulta devolvería una lista dinámica de country valores:
SELECT uniques(countryCode)FROM PageAction since 2 days ago
List: una lista de valores separados por comas que se utilizan para completar las opciones en el menú desplegable. Por ejemplo, podría definir manualmente una lista de country valores usando una lista como: ES, US, CA.
Text field: En lugar de un menú desplegable de valores para elegir, esto permite al usuario dashboard filtrar cualquier texto que ingrese.
Cuenta
Solo presente para el tipo query . Para organizaciones con varias cuentas, esto establece la cuenta que se consulta.
Consultar
Escribe aquí tu consulta usando uniques (attribute).
Ignorar el selector de tiempo
Opcional. Sólo presente para el tipo de consulta. Al desactivar esta opción, la consulta se ejecutará utilizando el valor del selector de tiempo seleccionado en el dashboard. De esa manera, cuando cambie el valor del selector de tiempo, los resultados del menú desplegable de la variable responderán dinámicamente al nuevo rango de tiempo seleccionado.
Selección múltiple
Opcional. Esta opción permite un menú desplegable para permitir múltiples selecciones al mismo tiempo en lugar de una sola selección.
Valores predeterminados
Opcional. Estos son los valores predeterminados que filtrará el dashboard . Por ejemplo, si utilizó la consulta country anterior, podría ingresar ES como valor predeterminado y el dashboard filtraría automáticamente ese valor. También puedes seleccionar todas las posibilidades.
Para utilizar varios valores en una cláusula WHERE , debe utilizar IN en lugar de =.
Formato de salida
Esto le permite cambiar cómo se manejan los datos generados por la variable en la consulta. La opción seleccionada que elija aquí está relacionada con la consulta que agregará más adelante en el widget. La opción default es una cadena porque es la opción más común utilizada en la mayoría de las consultas. Puede cambiar la opción default por una de estas:
String: utilice esto para valores de texto no numéricos.
Number: Utilice esto para valores numéricos.
Identifier: utilice esto cuando desee sustituir partes de la consulta, como nombres de eventos o nombres de facetas.
Vea este ejemplo de cómo se vería una variable de plantilla para valores country :
Una vez que haya definido su variable de plantilla, puede agregar un widget que use su variable de plantilla creada.
Una vez que haya configurado una variable de plantilla, necesitará un widget en un dashboard que use la variable que definió en su consulta.
Para crear un widget:
Desde su dashboard haga clic en el botón + Add widget ubicado en la esquina superior derecha.
Agregue texto, imágenes o enlaces. Crearás tu widget agregando tu propio contenido usando nuestro editor Markdown.
Elegimos la opción Add a chart .
Agregue su consulta y haga clic en Run.
Siguiendo nuestro ejemplo mencionado en el paso 1:
SELECT countryCode FROM PageAction WHERE countryCode IN({{countryCode}})
Tenga en cuenta que estas son las cláusulas NRQL que aceptarán variables de plantilla como valores: SELECT, FROM, FACET, ORDER BY y WHERE.
En cambio, la siguiente lista de cláusulas NRQL no aceptará variables de plantilla como argumentos: AS, COMPARE WITH, LIMIT, OFFSET, SINCE, SLIDE BY, TIMESERIES, UNTIL y WITH....
Hacer clic Save
Cuando haya terminado de definir una variable de plantilla y agregar un widget que haga referencia a esa variable, puede verificar que esté funcionando como se esperaba eligiendo diferentes opciones en la barra de variables de plantilla y viendo si el widget cambia según su selección.
Aquí hay un ejemplo del widget resultante, a la derecha, con el menú desplegable country a la izquierda.
Reglas para escribir una variable de plantilla de tipo consulta
Como se analizó en la sección sobre la definición de variables de plantilla, existen tres tipos de variables: consulta, lista y campo de texto. La variable de tipo consulta es la más compleja de crear porque debe crear una consulta funcional que devuelva una lista de valores, que luego se emplean para completar el desplegable en la barra de variables de plantilla en la parte superior del dashboard.
Importante
Tenga en cuenta que este es un tema diferente a la redacción de consultas que utilizan una variable de plantilla.
Puede emplear casi cualquier consulta NRQL siempre que devuelva una lista de valores. Para eso, puede emplear las funciones uniques o keyset .
-- with `keyset`, you'll get a list with all of the attributes from the table you're querying from
From PageAction select keyset() SINCE 1day ago
Tenga en cuenta que no se admiten variables anidadas ya que no puede haber variables dentro de variables.
Algunos ejemplos
A continuación se muestran algunos tipos diferentes de implementaciones de variables de plantilla.
Puede habilitar la opción de valores múltiples desde la sección de opciones de visualización al crear una variable de tipo NRQL/ENUM.
A continuación se muestra un ejemplo de una consulta que crea una variable denominada {{MultiValue}} y devuelve una lista de todos los ID de evento únicos:
SELECT uniques(eventId)FROM AjaxRequest
Luego crearías un widget con la siguiente consulta:
SELECTcount(*)FROM AjaxRequest WHERE eventId IN({{MultiValue}})
Sólo puede definir una variable de plantilla a la vez, pero puede utilizar más de una variable de plantilla en un único widget.
A continuación se muestra un ejemplo de una consulta que utiliza dos variables de plantilla. Tenga en cuenta que esto supone que las variables de plantilla countryCode y city ya se habrán creado y que tienen un valor único.
SELECT countryCode, city FROM PageAction WHERE countryCode = {{countryCode}} and city = {{city}}
Si tiene varios valores para sus variables, como Chicago, New York, Paris para su variable city , debe usar IN:
SELECT countryCode, city FROM PageAction WHERE countryCode IN({{countryCode}})and city IN({{city}})
Usando variables y expresiones regulares, puede crear un filtro, siempre que esté seguro de que una parte del filtro es fija.
Debe utilizar esta coincidencia parcial si desea utilizar like.
Supongamos que desea filtrar por versión de lanzamiento. La consulta devuelve algo como: release-1234.
Puede crear una variable usando aparse para analizar el número de versión:
SELECTcount(*)FROM PageAction WHERE aparse(platformVersion,'release-*')IN({{releaseversion}}) facet platformVersion
O si lo prefieres, puedes usar el comando capture :
SELECTcount(*)FROM PageAction WHERE capture(platformVersion, r'release-(?P<platformVersion>\d+)')IN({{releaseversion}}) Facet platformVersion
Puede utilizar LIKE y RLIKE como variables de plantilla para filtrar datos en un dashboard. Para usar esta característica, el valor que agregue al crear la variable de plantilla debe usar los símbolos comodín % al inicio y al final del valor.
He aquí un ejemplo. Usted define una variable de cadena, como se muestra aquí:
Luego puedes crear un gráfico widget y usar tu variable de esta manera:
FROM NrdbQuery SELECTuserWHEREuserLIKE {{like_filter}}
o así:
FROM NrdbQuery SELECTuserWHEREuserRLIKE {{like_filter}}
Puede crear una variable de tipo NRQL con un formato de salida de cadena y usarla después de una cláusula facet para agrupar por diferentes valores.
Por ejemplo, podrías crear una variable denominada {{userAgentName}} que tendría este aspecto:
SELECT uniques(userAgentName)FROM PageAction
Luego crearías un widget con la siguiente consulta:
SELECTcount(*)FROM PageAction WHERE userAgentName={{userAgentName}} FACET userAgentName
Puede crear una variable con un formato de salida identifier y usarla después de una cláusula FACET para agruparla por diferentes valores.
Por ejemplo, puede crear una variable {{location}} de tipo lista con dos valores posibles: countryCode y city. Establecerías el formato de salida en identifier.
Luego crearías un widget con la siguiente consulta:
SELECTcount(*)FROM PageAction FACET {{location}}
Puede crear una variable con formato de salida number y usarla dentro de una función de percentil.
Por ejemplo, podría crear una variable {{percentile}} de tipo list con dos valores posibles: 55 y 90. Querrá establecer el formato de salida como number.
Luego crearías un widget con la siguiente consulta:
Para usar variables para filtrar solo necesita agregar la variable creada en el lado derecho de una cláusula WHERE , como esta:
SELECT countryCode, city FROM PageAction WHERE countryCode IN({{countryCode}})
De forma predeterminada, la opción "ignorar el selector de tiempo" está habilitada, lo que significa que la consulta siempre se ejecuta utilizando el valor de rango de tiempo predeterminado 1 HOUR, incluso si el selector de tiempo en el dashboard tiene un valor diferente seleccionado (por ejemplo, 5 minutos, 3 horas, etc.). La excepción para ese caso es cuando la consulta tiene un rango de tiempo explícito establecido con una cláusula SINCE , como por ejemplo:
SELECT uniques(eventId)
FROM AjaxRequest
SINCE 5 minutes ago
Los resultados estarán en el rango de los últimos 5 minutos.
Cuando la opción “ignorar selector de tiempo” está desactivada, la consulta se ejecutará con el valor seleccionado en el selector de tiempo. Por ejemplo, si configura el selector de tiempo en 30 minutos, como en la captura de pantalla siguiente, en el formulario para editar las variables, el campo "ignorar selector de tiempo" se desactivará.
Esto da como resultado los valores de los últimos 30 minutos. Cuando establece el valor del selector de tiempo en Default y su consulta tiene una cláusula SINCE , se utilizará el último valor para ejecutar la consulta.
A veces hay consultas que aplican las mismas reglas a diferentes tipos de datos. A continuación se muestran ejemplos de dos widgets que son idénticos excepto por el tipo de datos:
Widget 1:
SELECTcount(*)FROM DataType1 SINCE 1day ago
Widget 2:
SELECTcount(*)FROM DataType2 SINCE 1day ago
En lugar de crear dos widgets separados, puede crear un widget con una variable que tenga el Identifier para el Output format. Luego, puedes usarlo en una cláusula FROM para consultar diferentes tipos de datos.
Por ejemplo, puede crear una variable {{dataType}} de tipo List con dos valores posibles: DataType1 y DataType2. Establecerías el Output Format en Identifier: