¿Cuántas veces has estado en una situación en la que te gustaría, por ejemplo, que el widget de Mapa o la Tabla de Dispositivos solo muestren dispositivos que cumplan con una determinada condición, ya sea basada en los valores de su variable o en el contexto? ¿O que los widgets de tipo Métrica (Gráfico de barras, Batería, Medidor, Indicador, Métrica, Tanque, Temperatura y Tabla de variables) muestren sus últimos o agregados valores después de filtrarlos según una condición de valor o contexto?
Bueno, con los filtros de Tableros, ahora es posible aplicar tales condiciones a los datos de tus dispositivos.
Requisitos
Cuenta activa de Ubidots con al menos una licencia Industrial.
1. Explicación de los filtros
Hay 2 tipos de filtros, valor y contexto. El primer tipo filtra los datos mostrados en el tablero según los valores, mientras que el segundo usa el contexto de la variable como entrada del filtro.
Veamos un ejemplo de ambos. Para esto, tomemos los siguientes datos de series temporales en bruto como ejemplo:
Marca de tiempo | Valor | Contexto |
2022-06-13 15:35:00 -05:00 | 10 | {"status": "too-cold"} |
2022-06-13 15:30:00 -05:00 | 20 | {"status": "cold"} |
2022-06-13 15:25:00 -05:00 | 30 | {"status": "cold"} |
2022-06-13 15:20:00 -05:00 | 40 | {"status": "cold"} |
2022-06-13 15:15:00 -05:00 | 50 | {"status": "good"} |
2022-06-13 15:10:00 -05:00 | 60 | {"status": "good"} |
2022-06-13 15:05:00 -05:00 | 70 | {"status": "good"} |
2022-06-13 15:00:00 -05:00 | 80 | {"status": "hot"} |
2022-06-13 14:55:00 -05:00 | 90 | {"status": "hot"} |
2022-06-13 14:50:00 -05:00 | 100 | {"status": "too-hot"} |
Primero, si aplicamos un filtro de valor que trae valores mayores o iguales a 50 (≥ 50), la serie temporal resultante es la que se muestra a continuación. Ten en cuenta que, en el lapso de tiempo, solo se recuperan los valores mayores o iguales a 50.
Marca de tiempo | Valor | Contexto |
2022-06-13 15:15:00 -05:00 | 50 | {"status": "good"} |
2022-06-13 15:10:00 -05:00 | 60 | {"status": "good"} |
2022-06-13 15:05:00 -05:00 | 70 | {"status": "good"} |
2022-06-13 15:00:00 -05:00 | 80 | {"status": "hot"} |
2022-06-13 14:55:00 -05:00 | 90 | {"status": "hot"} |
2022-06-13 14:50:00 -05:00 | 100 | {"status": "too-hot"} |
Si ahora aplicamos un filtro de contexto a la serie temporal inicial, de modo que solo recupere valores cuyo contexto de clave “status” sea igual a “too-hot”, la serie temporal resultante será:
Marca de tiempo | Valor | Contexto |
2022-06-13 14:50:00 -05:00 | 100 | {"status": "too-hot"} |
Los ejemplos anteriores solo recuperan la serie temporal en bruto después de aplicar el filtro, pero los widgets de Ubidots también soportan agregaciones como promedio, máximo, mínimo, suma o conteo. Para tales casos, la agregación se calculará después de aplicar el filtro a los datos de la serie temporal en bruto. Por ejemplo, supongamos una agregación “promedio” para una condición de filtro basada en el valor mayor o igual a 50 (≥ 50). La serie temporal resultante será:
Marca de tiempo | Valor | Contexto |
2022-06-13 15:15:00 -05:00 | 50 | {"status": "good"} |
2022-06-13 15:10:00 -05:00 | 60 | {"status": "good"} |
2022-06-13 15:05:00 -05:00 | 70 | {"status": "good"} |
2022-06-13 15:00:00 -05:00 | 80 | {"status": "hot"} |
2022-06-13 14:55:00 -05:00 | 90 | {"status": "hot"} |
2022-06-13 14:50:00 -05:00 | 100 | {"status": "too-hot"} |
Y el promedio será simplemente 75.
2. Tipo de filtros
Para crear filtros en tus tableros, simplemente dirígete a la configuración del Tablero, y encontrarás la opción para crear cualquiera de los tipos de filtros en la parte inferior de la pestaña de Configuración:
2.1. Filtros de valores
Los siguientes pasos describen cómo configurar un filtro de tipo valor:
Paso 1: Selecciona la opción Valor.
Paso 2: Llena las 3 opciones de la siguiente manera:
Nombre: Este será el nombre visible en el tablero.
Código del ícono: Nombre del ícono de Fontawesome. Este ícono se mostrará a la izquierda del nombre del filtro.
Etiqueta de variable: La etiqueta de la variable sobre la cual se aplicará el filtro. Puede ser una sola variable o una lista separada por comas de variables. Si se deja en blanco, el filtro se aplicará a todas las variables disponibles en los widgets del tablero.
Paso 3: Haz clic en Guardar.
Así es como se ve una configuración de filtro de valor que toma como entrada una variable etiquetada como “temperatura”:
Desde el tablero, verás una nueva opción de lista desplegable llamada “Temperatura” con un ícono de termómetro medio lleno, que al hacer clic en él, permite ingresar un filtro con las opciones:
Igual (=)
No igual (≠)
Mayor o igual (≥)
Mayor que (>)
Menor o igual (≤)
Menor que (<)
2.2. Filtros de contexto
Los siguientes pasos describen cómo configurar un filtro de tipo contexto:
Paso 1: Selecciona la opción Contexto.
Paso 2: Llena las 3 opciones de la siguiente manera:
Nombre: Este será el nombre visible en el tablero
Código del ícono: Nombre del ícono de Fontawesome. Este ícono se mostrará a la izquierda del nombre del filtro
Etiqueta de variable: La etiqueta de la variable sobre la cual se aplicará el filtro. Puede ser una sola variable o una lista separada por comas de variables. Si se deja en blanco, el filtro se aplicará a todas las variables disponibles en los widgets del tablero
Clave de contexto: La clave de contexto para evaluar su valor.
Opciones de lista: Las opciones de valor, separadas por comas, para mostrar en el tablero con la siguiente estructura: “Nombre para mostrar <valor de contexto>”. Por defecto, Ubidots hace la lista “All <*>, Not set <none>”.
Paso 3: Haz clic en Guardar.
Así es como se ve una configuración de filtro de contexto que toma como entrada una variable etiquetada como “temperatura” y su clave de contexto “status”:
Desde el tablero, verás una nueva opción de lista desplegable llamada “Status” con un ícono de termómetro, que al hacer clic en él, permite seleccionar entre las diferentes opciones de valores de contexto:
3. Impacto en widgets de tipo Métrica
Los widgets de tipo Métrica son:
Gráfico de barras
Batería
Medidor
Indicador
Métrica
Tanque
Temperatura
Tabla de variables
Gráfico circular
El impacto de los filtros en estos widgets dependerá de su configuración de “agregación”, de la siguiente manera:
– Último valor: recuperará el primer valor, de más nuevo a más antiguo, que coincida con la condición del filtro en el intervalo de tiempo seleccionado.
– Agregación: si se selecciona promedio, mínimo, máximo, suma o conteo, el cálculo se aplicará a la salida del filtro en el intervalo de tiempo seleccionado.
4. Impacto en la Tabla de dispositivos y widgets de Mapa
El impacto de los filtros en el widget de Tabla de dispositivos dependerá de la configuración de las columnas:
Columna de datos de contexto: Si se aplica un filtro de contexto, el widget de tabla de dispositivos recuperará el primer valor de la clave de contexto asociada, de más nuevo a más antiguo que coincida con la condición del filtro de contexto en el intervalo de tiempo seleccionado.
Columna de valor: El impacto de los filtros dependerá de su configuración de “agregación”, de la siguiente manera:
– Último valor: recuperará el primer valor, de más nuevo a más antiguo, que coincida con la condición del filtro en el intervalo de tiempo seleccionado.
– Agregación: si se selecciona promedio, mínimo, máximo, suma o conteo, el cálculo se aplicará a la salida del filtro en el intervalo de tiempo seleccionado.
5. Impacto en otros widgets
Los widgets se pueden aplicar a widgets que visualizan datos de series temporales, tales widgets pueden ser:
Histograma
Gráfico de líneas y doble eje
Los filtros en estos widgets mostrarán el gráfico de líneas o histograma de la serie temporal resultante después de aplicar los filtros.