Tabla de contenido:

Transmitir datos desde Google Sheets a un panel: 6 pasos
Transmitir datos desde Google Sheets a un panel: 6 pasos

Video: Transmitir datos desde Google Sheets a un panel: 6 pasos

Video: Transmitir datos desde Google Sheets a un panel: 6 pasos
Video: ✅ Como conectar EXCEL con GOOGLE SHEETS - El Tío Tech 2024, Mes de julio
Anonim
Transmitir datos desde Google Sheets a un panel
Transmitir datos desde Google Sheets a un panel

Las hojas de cálculo se destacan por manipular datos pero no mostrarlos. Esta es exactamente la razón por la que comenzaron a aparecer tantas empresas especializadas en visualización de datos y paneles de BI. El problema con la mayoría de estos productos es que suelen ser caros y difíciles de configurar. Este tutorial le mostrará una forma sencilla y económica de crear un panel de actualización hermoso, que se puede compartir y en tiempo real a partir de sus datos de Google Sheets.

Suministros

  • Hojas de cálculo de Google: una poderosa hoja de cálculo que puede usar en su navegador web (gratis).
  • Estado inicial: un servicio de visualización y transmisión de datos que puede usar para crear paneles en tiempo real en su navegador web (gratis para estudiantes, $ 9.99 / mes o $ 99 / año para todos los demás).

Paso 1: cómo funciona

Initial State es un servicio de transmisión de datos, lo que significa que puede enviar datos de series de tiempo (es decir, datos con una marca de tiempo) a su API. En otras palabras, si la temperatura es de 50 grados a las 5:45 p.m., podemos enviar fácilmente esa información como un punto de datos a la API de estado inicial. Una vez que los datos están en su cuenta, puede mostrar esos datos en visualizaciones y crear un panel de datos personalizado que puede ver en su navegador web. Solo necesita obtener Google Sheets para enviar datos desde su hoja de cálculo a su cuenta de estado inicial cuando desee que se envíen.

Google Sheets tiene una función de scripting increíble que podemos usar para crear una función personalizada para hacer precisamente eso. Solo necesitamos escribir una función en Google Script que enviará datos a la API de estado inicial. Llamar a esa función en su hoja de cálculo será fácil y le permitirá enviar los datos que queramos

Paso 2: crear un depósito de datos de estado inicial

Crear un depósito de datos de estado inicial
Crear un depósito de datos de estado inicial

Regístrese para obtener una cuenta de estado inicial aquí, si aún no tiene una. Una vez que esté registrado e iniciado sesión, haga clic en el ícono + nube en la parte superior del estante de su depósito para crear un nuevo depósito de datos. Este será el destino de la transmisión de datos de Google Sheets. Para enviar datos a este depósito, necesita dos claves. Una es la clave de acceso de su cuenta privada que dirigirá los datos a su cuenta. La segunda clave es la clave del depósito, que se utiliza para especificar en qué depósito de datos de su cuenta deben ir los datos. Puede especificar el nombre de clave de depósito que desee en el cuadro de diálogo Nuevo depósito de transmisión. Su clave de acceso también aparecerá en la lista. Haga clic en el botón Crear para crear este nuevo depósito de datos. Verá el nuevo depósito de datos en la estantería de su depósito. Puede hacer clic en el enlace Configuración debajo del nombre del depósito de datos para ver la Clave del depósito y la Clave de acceso. Necesitará estas claves para el siguiente paso. Su depósito de datos de estado inicial está listo para recibir datos.

Paso 3: crea un script de Google

Crea una secuencia de comandos de Google
Crea una secuencia de comandos de Google
Crea una secuencia de comandos de Google
Crea una secuencia de comandos de Google

Crea una nueva hoja de cálculo de Google Sheets. Haga clic en Herramientas -> Editor de secuencias de comandos para abrir el editor de secuencias de comandos de Google. Copie y pegue la siguiente función en su editor de scripts:

function streamData (signalName, value, enable) {

var accessKey = 'COLOQUE SU LLAVE DE ACCESO AQUÍ'; var bucketKey = 'COLOQUE AQUÍ LA LLAVE DEL CUCHARÓN'; if (! signalName) {signalName = 'UnknownData'; } if (habilitar) {var url = 'https://groker.init.st/api/events?accessKey=' + accessKey + '& bucketKey =' + bucketKey + '&' + encodeURIComponent (signalName) + '=' + encodeURIComponent (valor); UrlFetchApp.fetch (url); return nombre_señal + '=' + valor; }}

Deberá colocar la clave de acceso estatal inicial de su cuenta en la línea 2 y la clave del depósito estatal inicial en la línea 3 donde se le indique. Haga clic en Archivo -> Guardar para guardar esta secuencia de comandos y aplicar todos los cambios (si no guarda sus cambios, su hoja de cálculo no puede usar esta nueva función).

Echemos un vistazo a la función que acabamos de crear. streamData (signalName, value, enable) requiere tres parámetros de entrada. signalName es el nombre del flujo de datos (por ejemplo, temperatura). valor es el valor actual del flujo de datos (por ejemplo, 50). enable es VERDADERO o FALSO y se usa para controlar cuándo enviamos datos a nuestro depósito de datos. La línea 8 es la línea de código que realmente llama a la API de estado inicial utilizando parámetros de URL.

Puede probar esto editando una celda en su hoja de cálculo con la fórmula: = streamData ("myNumber", 1, TRUE) y presionando ENTER. Si los datos se enviaron correctamente, la celda debería devolver myNumber = 1.

Regrese a su cuenta de estado inicial y haga clic en su nuevo depósito de datos. Debería ver que el número 1 se envió a un nuevo flujo de datos llamado myNumber. Juegue cambiando el valor y el nombre de la señal y observe cómo cambia su tablero.

Paso 4: una hoja de cálculo de ejemplo

Una hoja de cálculo de ejemplo
Una hoja de cálculo de ejemplo

Este enlace lo llevará a una hoja de cálculo de ejemplo que usa la función streamData en dos lugares diferentes, uno para enviar el valor de myNumber y otro para enviar el valor de myString. Tendrá que copiar este ejemplo y repetir el Paso 2 para agregar su propia función Google Script para jugar con esta hoja de cálculo. La habilitación se especifica en C2. Simplemente cámbielo a FALSE para realizar cambios sin enviar datos no deseados a su depósito de datos y vuelva a TRUE para habilitar la transmisión de datos.

Tenga en cuenta que puede transmitir números, cadenas o incluso emojis a su tablero. Cada vez que cambia cualquier variable de entrada, la función streamData se ejecuta y envía datos.

Paso 5: Especificación de marcas de tiempo (transmisión de datos del pasado)

Especificación de marcas de tiempo (transmisión de datos del pasado)
Especificación de marcas de tiempo (transmisión de datos del pasado)
Especificación de marcas de tiempo (transmisión de datos del pasado)
Especificación de marcas de tiempo (transmisión de datos del pasado)

El primer ejemplo simplemente envía datos a través de parámetros de URL cada vez que cambia una entrada de datos a nuestra función Google Script. La marca de tiempo utilizada para este punto de datos es el momento en que la API recibe los datos. ¿Qué sucede si desea especificar una marca de tiempo? Por ejemplo, ¿qué sucede si desea enviar datos de hace un mes a su panel de control? La API de estado inicial (documentación aquí) nos permite hacer precisamente eso. Solo necesitamos escribir una función de Google Script diferente que tome la marca de tiempo como parámetro de entrada:

function streamDataTime (signalName, value, timestamp, enable) {

if (! signalName) {signalName = 'UnknownData'; } var headersIS = {'X-IS-AccessKey': 'COLOQUE SU LLAVE DE ACCESO AQUÍ', 'X-IS-BucketKey': 'COLOQUE SU LLAVE BUCKET AQUÍ', 'Accept-Version': '~ 0'} var data = {'clave': nombre de la señal, 'valor': valor, 'iso8601': marca de tiempo}; var opciones = {'método': 'publicación', 'contentType': 'aplicación / json', 'encabezados': encabezadosIS, 'carga útil': JSON.stringify (datos)}; if (habilitar) {UrlFetchApp.fetch ('https://groker.init.st/api/events', opciones); return nombre_señal + '=' + valor; }}

El script de Google anterior agrega un parámetro de entrada de marca de tiempo. Este script llama a la API de estado inicial enviando un objeto JSON a través de HTTPS POST. Todo lo que tiene que hacer es especificar su clave de acceso de estado inicial y clave de depósito en las líneas 6 y 7.

La marca de tiempo debe tener el formato iso8601 (información sobre iso8601). Un ejemplo de marca de tiempo iso8601 es "2019-01–01T18: 00: 00-06: 00". Esta marca de tiempo es equivalente al 1 de enero de 2019, 6:00 p. M. CT. La parte "-06: 00" de la marca de tiempo especifica el zona horaria. Si no especificas tu zona horaria, se asume que la hora es UTC. Cuando veas tus datos en Estado inicial en mosaicos, se usará la zona horaria local de tu navegador para mostrar tus datos.

Este enlace lo llevará a una hoja de cálculo de ejemplo que usa la función streamDataTime en la columna F. Tendrá que copiar este ejemplo y repetir el Paso 2 para agregar su propia función de Google Script para jugar con esta hoja de cálculo. Este ejemplo registra el número de visitantes del sitio web para cada día del mes de enero.

Transmitir esta hoja de cálculo de ejemplo a un panel de estado inicial puede verse como el anterior (puede ver este panel en https://go.init.st/v8sknuq). Observe que la línea de tiempo en la parte superior del tablero se alinea con las marcas de tiempo especificadas en los datos de Google Sheets (columna D). Este panel usa un indicador y emojis para agregar contexto a Tiles. Puede importar este diseño de panel exacto en su ejemplo siguiendo estas instrucciones. Puede agregar una imagen de fondo a su tablero para darle más contexto a sus datos.

Paso 6: Conclusión

Puede agregar cualquier número de KPI a una hoja de cálculo de Hojas de cálculo de Google y transmitirlos a un panel utilizando los principios básicos de este ejemplo. Puede configurar varias hojas de cálculo para enviar datos a un solo panel. Puede configurar sensores u otras aplicaciones para enviar datos al mismo panel que su hoja de cálculo de Google Sheets e incluso combinar matemáticamente esas diferentes fuentes de datos dentro de su panel.

Recomendado: