<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[analíticas - Elasticsearch Labs]]></title>
    <description><![CDATA[Articles and tutorials from the Search team at Elastic]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[analíticas - Elasticsearch Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt1121c0bf0e8a6e65/6a88da6340a1841030ef456f/search-labs-thumbnail.png</url>
      <link>https://www.elastic.co/es/search-labs/blog/category/analytics</link>
    </image>
    <link>https://www.elastic.co/es/search-labs/blog/category/analytics</link>
    <atom:link href="https://www.elastic.co/es/search-labs/rss/category/analytics.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[es]]></language>
    <lastBuildDate>Wed, 23 Sep 2026 06:43:27 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Mejorar la interactividad del dashboard de Kibana con controles variables]]></title>
    <description><![CDATA[Descubre cómo utilizar los controles variables en Kibana 8.18+ para filtrar visualizaciones individuales, ajustar intervalos de tiempo y agrupar por diferentes campos en los dashboards de Kibana.]]></description>
    <content:encoded><![CDATA[<p>¡Nos complace compartir que los <strong>controles variables ahora están disponibles en los dashboards de Kibana</strong> a partir de la versión 8.18 y en toda la serie 9.x! Esta característica ha sido una de las mejoras más solicitadas con más frecuencia por los usuarios de los dashboards—y finalmente está aquí 🎉 Durante los últimos meses, hemos continuado expandiendo y refinando <a href="https://www.elastic.co/docs/explore-analyze/dashboards/add-controls#add-variable-control">controles de variables</a>, por lo que este es el momento perfecto para dedicarles su propia publicación en el blog.</p><h2>¿Qué son los controles variables?</h2><p>Si has trabajado antes con los dashboards de Kibana, probablemente conozcas nuestros controles clásicos de dashboard: esos prácticos menús desplegables que muestran valores de tus datos para que puedas aplicar filtros con un par de clics.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltc7405fbff7584b1b/6a17ee5cfbc5f8aea1491b5d/b82c1b25a0b38661e5ce4552f763be487d5074aa-1600x701.png" alt="" /><p>A simple vista, los controles variables son parecidos , pero tienen un giro ingenioso: en lugar de filtrar automáticamente cada panel en tu dashboard, pueden conectarse directamente a <a href="https://www.elastic.co/docs/explore-analyze/visualize/esorql">búsquedas ES|QL dentro de visualizaciones individuales</a>.</p><p>Eso significa que <em>tú</em> decides dónde se aplica cada control. Y aún más, puedes usarlos para todo tipo de trucos creativos, como ajustar intervalos de tiempo, cambiar campos de desglose o modificar parámetros de visualización en el momento. Básicamente, ofrecen a tus dashboards una experiencia realmente interactiva, lo que permite obtener tu información de manera más rápida y fácil.</p><h2>Casos de uso para controles variables</h2><p>Muy bien, los controles variables parecen útiles, pero ¿para qué sirven realmente? A continuación se muestran algunos ejemplos de cómo mejorar tus dashboards:</p><h3>Filtrar visualizaciones seleccionadas.</h3><p>¿Quieres filtrar <em>algunas</em> visualizaciones sin cambiar otras? Los controles de variables te permiten hacer exactamente eso. Selecciona los paneles a los que deseas responder y conéctalos en las búsquedas de ES|QL detrás de tus visualizaciones.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltfd014bba50a3a61e/6a17ee5e14d90c006d79b69a/efa367363830b03bc67028aceafe78c4b44e578f-1440x562.gif" alt="" /><h3>Selecciona diferentes intervalos de tiempo</h3><p>Otorga a tus usuarios el poder de cambiar entre “5 minutos”, “1 hora”, “1 día” o cualquier cubeta de tiempo que tenga sentido. Crea un control variable con intervalos predefinidos y conéctalo a tu búsqueda de series temporales.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt237797ddea95ce08/6a17ee602f4a5cfd65fa8996/62aa9f4e728036f8c70213b76b1cf131f36f5b4d-1440x606.gif" alt="" /><h3>Cambiar funciones</h3><p>En lugar de crear múltiples gráficos para cada operación, permite que los usuarios del dashboard elijan si quieren ver el máximo, el promedio, diferentes percentiles o cualquier otro agregador.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt4c856460132fb604/6a17ee627b54f920838b3991/f6a2b4c73dc35efe462c2924a153d7b3fa3a7922-1436x606.gif" alt="" /><h3>Agrupar por diferentes campos</h3><p>A veces necesitas desglosar los datos por diferentes dimensiones durante una investigación. Con controles variables, puedes definir múltiples campos “agrupar por” y permitir que los usuarios del dashboard elijan cuál les permite descubrir su información.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltbf1a24038dde55b8/6a17ee646864a413b6b6884c/fe8745a6fddccadba0666686b8ebc67fdaf64158-1438x606.gif" alt="" /><h2>¿Cómo puedes crearlos?</h2><p>La manera más sencilla (y probablemente más amena) de crear un control de variable es directamente desde el <strong>editor de búsquedas ES|QL</strong> en tu visualización. Simplemente comienza a escribir tu búsqueda, usa el menú de autocompletado y Kibana configurará el control de una manera que te resulte útil.</p><p>Pero si prefieres empezar desde la variable en sí, también puedes ir a: <strong>Agregar panel → Controles → Control de variables</strong> y agregar la variable a tus visualizaciones después de crear el control.</p><h3>Ejemplo 1: Control de filtrado con selección de múltiples valores.</h3><p>1. Elija una visualización que se realice a partir de una búsqueda ES|QL y haga clic en “Crear control” dentro de la cláusula WHERE.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt1356c9ac1ffce732/6a17ee661d1b83104a93e4f3/46cb6f2a6775aee152d42eb5ee85170f1bdf26cb-1600x668.png" alt="" /><p>2. Serás redirigido automáticamente al elemento flotante de creación de variables, donde se seleccionará el tipo “Valores de una búsqueda” para ti, y el nombre de la variable ya estará previamente completado. Recuerda que el nombre de un control siempre debe comenzar con “?...” para que funcione en la búsqueda de visualización.</p><p>Normalmente necesitarás una búsqueda como esta para obtener los valores de un campo y actualizarlos según el rango de tiempo seleccionado en el dashboard:</p>FROM &lt;datasource_name&gt;
| WHERE @timestamp &lt;=?_tend and @timestamp &gt;?_tstart
| STATS BY &lt;field_name&gt;<img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltb34ecc3303fda700/6a17ee68a2929914e3d02d23/a2a72d4e3159923c6207908da9b4172e27cd5f81-1600x716.png" alt="" /><p>3. Al guardar el control, lo verás aparecer en la parte superior del dashboard y tu búsqueda de visualización se actualizará con el nombre del control variable.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blte03c74e0c60bdb42/6a17ee6a0b0bed13cddd3636/5fc434c8951889e9769652b675191711d126a685-1600x653.png" alt="" /><p>4. Si deseas agregar una <a href="https://www.elastic.co/docs/explore-analyze/dashboards/add-controls#esql-multi-values-controls">selección de valores múltiples</a> al control, debes usar la función <code>MV_CONTAINS</code> en la búsqueda y seleccionar “Permitir selecciones múltiples” durante la creación del control en el paso 2 (disponible desde la versión 9.3).</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt218a166f7a1dc52c/6a17ee6ca2929979a9d02d27/1f237cea0a37cb25a7917a2a683707a269adae8e-1600x670.png" alt="" /><h3>Ejemplo 2: Control de intervalos de tiempo.</h3><p>Si estás creando una serie temporal, puedes agregar fácilmente un control variable en el intervalo de histograma de fecha:</p><p>1. Cuando escribas una búsqueda ES|QL para tu serie temporal, haz clic en “Crear control”. Al construir una variable para intervalos, es mejor usar <code>TBUCKET</code> en lugar de <code>BUCKET</code> para que acepte intervalos más legibles como “1 hora”, “1 día”, etc. Pronto habrá una opción automática para <code>TBUCKET</code> que se adaptará automáticamente a los intervalos de tiempo.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blta6f32acf5ed19697/6a17ee6e6864a4a32fb68850/b0ad53d790ff9bdd42db5e77477318319f423534-1600x664.png" alt="" /><p>2. Define los intervalos para completar las opciones en el menú desplegable.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltf08d6a75afe87314/6a17ee6f25daab58fe08a2fa/f3bd83f530cfa4698c1a3b1ae60d08d0414043b5-1600x757.png" alt="" /><p>3. Selecciona diferentes intervalos en el menú desplegable y observa cómo cambia tu visualización.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt5ecd5f376b096063/6a17ee7196142a0f77eb1b9b/0f928d9c70929f64926e065059188d140cd48943-1600x671.png" alt="" /><h3>Ejemplo 3: variables para funciones</h3><ol><li><p>Crea una variable usando el tipo de control “Valores estáticos” y agrega nombres de funciones a los valores de tu menú desplegable. Es importante usar un nombre para la variable que comience con “??...” para reemplazar funciones.</p></li></ol><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt6bdc0c817465f3f0/6a17ee73505ac3268cad8bea/531444237b7e152d3c8a6f3ca7e464f954f9e856-1600x663.png" alt="" /><p>2. Incluye el nombre de la variable en la búsqueda ES|QL.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltd631ad49bbb93c3e/6a17ee75e9ea87708ea9c6aa/9858442abb26d8d266d464852871b139fde63b89-1600x665.png" alt="" /><h3>Ejemplo 4: variables para campos</h3><ol><li><p>Puedes usar el tipo de control “Valores estáticos” y escribir los nombres de los campos que desees. Es importante usar un nombre de variable que comience con “??...” para que funcione en los campos.</p></li></ol><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt29079f2b85c7239c/6a17ee77b1e113328f79f30b/33534c3df2fae024b25c28b4aed5d742e54202a2-1600x710.png" alt="" /><p>2. Crea una referencia a la variable donde la necesites en la búsqueda de la visualización.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt6ca73c08dfa27319/6a17ee780b0bed31e8dd363a/71cdf3e9df72c59d957628a3aa6e4aa9bd60d6d5-1600x676.png" alt="" /><h2>Controles de variables en Discover</h2><p>Los controles variables no son solo una característica del dashboard: también están disponibles directamente en el editor de ES|QL en Discover. Puede crear controles para obtener una experiencia de exploración de datos más rápida en Discover, llevarlos al dashboard y viceversa.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt40c9ce5eed7ded45/6a17ee7b420229747b29f684/fdddeec902d0bc746caed9276d01d7d48793dd85-1600x709.png" alt="" /><h2>Detalles técnicos</h2><p>A estas alturas, probablemente hayas notado que los controles de variables incluyen algunas reglas, como a qué partes de una búsqueda pueden hacer referencia y los prefijos de nombres que necesitas usar (“?...” para valores y “??...” para campos o funciones). Eso se debe a que las variables no son simplemente reemplazos de texto que ocurren en el cliente. En realidad, son ciudadanos de primera clase en el propio lenguaje de búsquedas (conocidos como <a href="https://www.elastic.co/docs/solutions/search/agent-builder/tools/esql-tools#parameter-types">parámetros en ES|QL</a>).</p><p></p><p>Este diseño ofrece grandes ventajas. Por un lado, Kibana puede entender el contexto de cada variable, lo que nos permite generar y completar previamente, de manera automática, su configuración. Además, es mucho más seguro: debido a que el lenguaje valida estrictamente las entradas de variables, previene las inyecciones maliciosas y genera errores fácilmente, si algo parece incorrecto. Asimismo, mejora el rendimiento y la estabilidad al trasladar la compleja validación y el manejo de errores al servidor en lugar de al cliente. Recordatorio sobre el rendimiento: una de las mejores prácticas es crear variables que incluyan búsquedas rápidas, ya que se cargan antes que el dashboard, por lo que las búsquedas lentas pueden afectar al rendimiento de todo el dashboard.</p><p>Por supuesto, esta arquitectura también tiene algunas <a href="https://www.elastic.co/docs/solutions/search/agent-builder/limitations-known-issues#esql-limitations">limitaciones</a>—por ahora. Las variables aún no admiten una opción “Cualquiera” para filtrar, y actualmente no se pueden usar con ciertos operadores como <code>LIKE</code>o <code>FROM</code> (para cambiar fuentes de datos). ¿La buena noticia? Estamos trabajando activamente para agregar estas funciones.</p><h2>Qué depara el futuro para los controles</h2><p>¡Este no es el final! Algunas de las mejoras importantes incluyen:</p><p>✨ La capacidad de colocar controles en cualquier lugar del dashboard</p><p>✨ Encadenar tus controles, lo que significa que la salida de un control se convierte en la entrada para el siguiente</p><p>✨ Mejores opciones de selección como la opción “Cualquiera” para variables.</p><p>✨ Nuevos tipos de control (control de tipo búsqueda y variables para tus fuentes de datos)</p><p>✨ Y otras mejoras en la experiencia del usuario que han estado solicitando, como el filtro previo de controles normales.</p><p>Si tienes ideas o comentarios, nos encantaría saber de ti.</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/kibana-dashboard-interactivity-variable-controls-overview</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/kibana-dashboard-interactivity-variable-controls-overview</guid>
    <category><![CDATA[Kibana]]></category>
    <category><![CDATA[analíticas]]></category>
    <dc:creator><![CDATA[Teresa Alvarez Soler]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltddeea5af6d4f9884/6a17ee7ddbb4ff3aa8fb5781/59aa3adffc8c759e42b961ef7d63719ce232893a-1348x830.png" length="0" type="image/png"/>
    <pubDate>Thu, 04 Dec 2025 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Spotify Wrapped parte 2: Análisis y visualización de datos]]></title>
    <description><![CDATA[Profundizaremos más que nunca en tus datos de Spotify y exploraremos conexiones que ni siquiera sabías que existían.]]></description>
    <content:encoded><![CDATA[<p>En la <a href="https://www.elastic.co/search-labs/blog/spotify-wrapped-create-in-kibana">primera parte</a> de este serial, escrita por Iulia Feroli, hablamos sobre cómo obtener tus datos de Spotify Wrappped y visualizarlos en Kibana. En la parte 2, profundizamos en los datos para ver qué más podemos descubrir. Para ello, vamos a aprovechar un enfoque un poco diferente y usar <a href="https://github.com/elastic/elasticsearch-labs/tree/main/supporting-blog-content/spotify-to-elasticsearch">Spotify a Elasticsearch</a> para indexar los datos en Elasticsearch. Esta herramienta es un poco más avanzada y requiere un poco más de configuración, pero merece la pena. Los datos están más estructurados y podemos hacer preguntas más complejas.</p><h2>Diferencias respecto al primer análisis de Spotify Wrapped</h2><p>En el primer blog, usamos la exportación de Spotify directamente y no realizamos ninguna tarea de normalización ni ningún otro procesamiento de datos. Esta vez, usaremos los mismos datos, pero realizaremos un procesamiento de datos para hacerlos más utilizables. Esto nos permitirá responder a preguntas mucho más complejas, como:</p><ul><li><p>¿Cuál es la duración media de una canción en mi top 100?</p></li><li><p>¿Cuál es la popularidad media de una canción en mi top 100?</p></li><li><p>¿Cuál es la duración media de escucha de una canción?</p></li><li><p>¿Cuál es la pista que más me salto?</p></li><li><p>¿Cuándo me gusta saltarme pistas?</p></li><li><p>¿Estoy escuchando una hora concreta del día más que otras?</p></li><li><p>¿Estoy escuchando más un día de la semana que otros?</p></li><li><p>¿Es un mes de especial interés?</p></li><li><p>¿Cuál es el artista con el mayor tiempo de escucha?</p></li></ul><p>Spotify Wrapped es una experiencia divertida cada año, mostrando lo que escuchaste este año. No te da cambios año tras año, y por tanto podrías extrañarte a algunos artistas que antes estaban en tu top 10, pero que ahora desaparecieron.</p><h2>Procesamiento de datos envueltos en Spotify para análisis</h2><p>Hay una gran diferencia en la forma en que procesamos los datos en la primera y la segunda publicación. Si quieres seguir trabajando con los datos de la primera publicación, tendrás que tener en cuenta algunos cambios en el nombre de campos, así como volver a ES|QL para hacer ciertas extracciones como <code>hour of day</code> sobre la marcha.</p><p>Aun así, todos deberíais poder seguir esta publicación. El procesamiento de datos se realiza en el repositorio <a href="https://github.com/elastic/elasticsearch-labs/tree/main/supporting-blog-content/spotify-to-elasticsearch">de Spotify a Elasticsearch</a> , implica aplicar a la API de Spotify la duración de la canción, la popularidad y también renombrar y mejorar algunos campos. Por ejemplo, el campo <code>artist</code> en la exportación de Spotify es solo una cadena y no representa características ni pistas multiartista</p><h2>Visualizando datos en Spotify Wrapped con paneles de control</h2><p>Creé un panel de control en Kibana para visualizar los datos. El panel está <a href="https://github.com/elastic/elasticsearch-labs/blob/main/supporting-blog-content/spotify-to-elasticsearch/kibana/dashboard.ndjson">disponible aquí</a> y puedes importarlo a tu instancia Kibana. El panel de control es bastante extenso y responde muchas de las preguntas anteriores.</p><p>¡Vamos a hablar de algunas preguntas y cómo responderlas juntos!</p><h3>¿Cuál es la duración media de una canción en mi top 100?</h3><p>Para responder a esta pregunta, podemos usar Lens o ES|QL. Vamos a explorar las tres opciones. Formulemos esta pregunta correctamente de manera Elasticsearch. Queremos encontrar las 100 canciones más populares y luego calcular la duración media de todas esas canciones juntas. En términos de Elasticsearch eso serían dos agregaciones:</p><ol><li><p>Descubre las 100 mejores canciones</p></li><li><p>Calcula la duración media de esas 100 canciones.</p></li></ol><p><strong>Lens</strong></p><p>En Lens, esto es bastante sencillo: crear un nuevo Lens, cambiar a una tabla y arrastrar y soltar el campo <code>title</code> dentro de la tabla. Luego haz clic en el campo <code>title</code> y pon el tamaño en 100, además de poner modo <code>accuracy</code> . Luego arrastra y suelta el campo <code>duration</code> en la tabla y usa <code>last value</code>, porque realmente solo necesitamos el último valor de la duración de cada canción. La misma canción solo tendrá una duración. Al final de esta agregación de <code>last value</code> hay un desplegable para una fila resumen, selecciona <code>average</code> y te lo mostrará.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt5df1d7f36de5e2ae/6a17e5df0b0beddd57dd355c/a56f6e48e6b53af3ca3d38d67ce0916d0621ef16-2910x1058.png" alt="Uso de Lens para datos envuelto en Spotify" /><p><strong>ES|QL</strong></p><p>ES|QL es un lenguaje bastante nuevo comparado con DSL y agregaciones, pero es muy poderosa y fácil de usar. Para responder a la misma pregunta en ES|QL, escribirías la siguiente consulta:</p><p>Déjame guiarte paso a paso por este ES|Consulta QL:</p><ol><li><p><code>from spotify-history</code> - Este es el patrón índice que estamos usando.</p></li><li><p><code>stats duration=max(duration), count=count() by title</code> - Esta es la primera agregación, estamos calculando la duración máxima de cada canción y el recuento de cada canción. Usamos <code>max</code> en lugar de <code>last value</code> como se usa en el Lens, eso es porque ES|Ahora mismo QL no tiene ni primera ni última.</p></li><li><p><code>sort count desc</code> - Ordenamos las canciones por el conteo de cada canción, así que la canción más escuchada está arriba.</p></li><li><p><code>limit 100</code> - Limitamos el resultado a las 100 mejores canciones.</p></li><li><p><code>stats Average duration of the songs=avg(duration)</code> - Calculamos la duración media de las canciones.</p></li></ol><h3>¿Me interesa especialmente un mes?</h3><p>Para responder a esta pregunta podemos usar Lens con la ayuda de campo de ejecución y ES|QL. ¿Qué notamos de inmediato? No hay ningún campo en los datos que denote el <code>month</code> directamente, sino que necesitamos calcularlo a partir del campo <code>@timestamp</code> . Hay varias formas de hacerlo:</p><ol><li><p>Emplea un campo de ejecución para alimentar el objetivo</p></li><li><p>ES|QL</p></li></ol><p>Personalmente creo que ES|QL es la solución más ordenada y rápida.</p><p>Eso es todo, no hace falta nada sofisticado, podemos aprovechar la función <code>DATE_EXTRACT</code> para extraer el mes del campo <code>@timestamp</code> y luego podemos agregar sobre él. Usando el ES|Visualización QL podemos incluirla en el panel de control.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt2c221ad4446cfb09/6a17e5e03e9e45076eba144c/7f942cf38fbe0fecec1d741e7df922196f4e9483-1878x722.png" alt="Visualización mensual de desglose en Spotify Wrapped" /><h3>¿Cuál es mi duración de escucha por artista y al año?</h3><p>La idea detrás de eso es ver si un artista es solo algo puntual o si hay una repetición. Si no recuerdo mal, Spotify solo te muestra los 5 mejores artistas en el wrappeado anual. ¿Quizá tu artista número 6 se mantiene igual todo el tiempo, o cambia mucho después de la décima posición?</p><p>Una de las representaciones más sencillas de esto es un gráfico de barras porcentuales. Podemos usar Lens para esto. Sigue los pasos a seguir:</p><p>Arrastra y suelta el campo <code>listened_to_ms</code> . Este campo representa cuánto tiempo escuchaste una canción en milisegundos. Ahora, por defecto, Lens creará una agregación <code>median</code> , no queremos eso, cambia eso a un <code>sum</code>. En la parte superior selecciona <code>percentage</code> en lugar de <code>stacked</code> para el tipo de gráfico de barras. Para el desglose selecciona <code>artist</code> y di top 10. En el menú desplegable de <code>Advanced</code> no olvides seleccionar <code>accuracy mode</code>. Ahora, cada bloque de color representa cuánto escuchaste a este único artista. Dependiendo de tu selector de tiempo, las barras pueden representar valores que van de días, a semanas, a meses o años. Si quieres un desglose semanal, selecciona el <code>@timestamp</code> y configura el <code>mininum interval</code> en <code>year</code>. Ahora, lo que podemos decir en mi caso es que <code>Fred Again..</code> es el artista que más escuché, casi el 12% de mi tiempo total de escucha lo consumía <code>Fred Again..</code>. También vemos que <code>Fred Again..</code> bajó un poco en 2024, pero <code>Jamie XX</code> creció considerablemente. Si comparamos solo el tamaño de las barras. También podemos notar que, aunque <code>Billie Eilish</code> se está tocando constantemente en 2024, el ancho del manillar. Esto significa que escuché más a <code>Billie Eilish</code> en 2024 que en 2023.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blteb0c11b909be859f/6a17e5e2e8fbce239a3a18ee/61a5bcc6b7385ed0a11b67c9c6bab32d27f4a49b-2942x1354.png" alt="Visualización del historial con Spotify Wrapped usando Kibana" /><h3>¿Y qué hay de las pistas principales por artista por tiempo de escucha frente al tiempo total de escucha?</h3><p>Es una pregunta larga. Déjame intentar explicar lo que quiero decir con eso. Spotify te dice cuál es la canción más destacada de un solo artista, o tus 5 canciones más populares en total. Bueno, eso es sin duda interesante, pero ¿qué pasa con la ruptura de un artista? ¿Todo mi tiempo lo consumo solo con una sola canción que pongo una y otra vez, o eso se distribuye de forma equitativa?</p><p>Crea un nuevo objetivo y selecciona <code>Treemap</code> como tipo. Para el <code>metric</code>, igual que antes: selecciona <code>sum</code> y usa <code>listened_to_ms</code> como campo. Para el <code>group by</code> necesitamos dos valores. El primero se <code>artist</code> y luego agrega otro con <code>title</code>. El resultado intermedio es así:</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt9aa0e4877472123f/6a17e5e44b055d6dcf43218e/2dea389664a0d3d13fff03c6337bff3ce740f9b1-2922x1430.png" alt="Visualización del historial con Spotify Wrapped usando Kibana" /><p>Vamos a cambiar eso a los 100 mejores artistas y desseleccionar la <code>other</code> en el desplegable avanzado, además de activar el modo de precisión. Para el título, cambia eso a top 10 y activa el modo de precisión. El resultado final es así:</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt070bf745be1d3f92/6a17e5e66864a43a0fb6875b/7e99a15c69801e58302af4c12b500242a7e8bc9d-2640x1622.png" alt="Visualización en Spotify Wrapped usando Kibana" /><p>¿Qué nos dice esto ahora exactamente? Sin mirar ningún componente temporal, podemos decir que en todo mi historial de escuchas con Spotify, pasé un 5,67% escuchando <code>Fred Again..</code>. En individuo, pasé el 1,21% de ese tiempo escuchando <code>Delilah (pull me out of this)</code>. Es interesante ver si hay una sola canción que ocupe a un artista, o si hay otras canciones también. El propio mapa de árbol es una forma agradable para representar estas distribuciones de datos.</p><h3>¿Escucho en una hora y día concretos?</h3><p>Bueno, eso podemos responder de forma muy sencilla con una visualización de lentes aprovechando el <code>Heat Map</code>. Crea una nueva lente, selecciona <code>Heat Map</code>. Para el <code>Horizontal Axis</code> selecciona <code>dayOfWeek</code> campo y ponlo en <code>Top 7</code> en vez de Top 3. Para el <code>Vertical Axis</code> seleccionar el <code>hourOfDay</code> y para <code>Cell Value</code> simplemente un <code>Count of records</code>simple . Ahora esto dará lugar a este panel:</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt2d08e4f4d0a90550/6a17e5e7e8fbce1af43a18f2/c83ec13a3c7d1b71b8a6b110ed2b74e691d868e6-3538x1720.png" alt="Visualización de hábitos de escucha con Spotify Wrapped usando paneles de control" /><p>Hay un par de cosas molestas alrededor de esta lente que simplemente me molestan al interpretar. Intentemos limpiarlo un poco. Primero que nada, no me importa demasiado la leyenda, usa el símbolo de arriba con el triángulo, cuadrado, círculo y desactivarlo.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltce46c47addd91c61/6a17e5e94b055d15d5432192/84f51d6c885b929bf47ac05edd32ca149ad2e651-1040x298.png" alt="Visualización con Spotify Wrapped " /><p>Ahora, la segunda parte que resulta molesta es la organización de los días. Es lunes, miércoles, jueves o cualquier otra cosa, dependiendo de los valores que tengas. El <code>hourOfDay</code> está correctamente ordenado. La forma de ordenar los días es un truco gracioso y eso se llama usar <code>Filters</code> en vez de <code>Top Values</code>. Haz clic en <code>dayOfWeek</code> y selecciona <code>Filters</code>, ahora debería ver así:</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt0e9c6005a917d4de/6a17e5eb4b055d6e10432196/2498a66098d40a1ba44d3f88464a9888dca204af-3574x1294.png" alt="Visualización del historial de Spotify Wrapped con Kibana Dashboards" /><p>Ahora empieza a escribir los días. Un filtro por cada día. <code>"dayOfWeek" : Monday</code> y ponle la etiqueta <code>Monday</code> y repite.</p><p>Una advertencia en todo esto es que Spotify proporciona los datos en UTC+0 sin ninguna información de zona horaria. Claro, también proporcionan la dirección IP y el país al que escuchaste, y podríamos deducir la información de la zona horaria a partir de eso, pero eso puede ser un poco raro y para países como EE. UU., que tienen múltiples zonas horarias, puede ser demasiado complicado. Esto es importante porque Elasticsearch y Kibana tienen soporte para zonas horarias y, al proporcionar la zona horaria correcta en el campo <code>@timestamp</code> , Kibana ajustaría automáticamente la hora a la hora de tu navegador.</p><p>Debería ver así cuando se finalice, y se nota que soy un oyente muy activo durante el horario laboral y menos los sábados y domingos.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltd8eaab83c8c9c7f2/6a17e5ed6df7315e250a0ec5/c664c90ff8e852e1766e8101afc20c58e110f09c-3582x2030.png" alt="Visualización en Spotify Wrapped usando Kibana Dashboards" /><h2>Conclusión</h2><p>En este blog, profundizamos un poco más en las complejidades que ofrecen los datos de Spotify. Mostramos algunas formas sencillas y rápidas de poner en marcha algunas visualizaciones. Es simplemente asombroso tener tanto control sobre tu propio historial de escucha. Echa un vistazo a las otras partes del serial:</p><ul><li><p><a href="https://www.elastic.co/search-labs/blog/spotify-wrapped-create-in-kibana">Parte 1: Cómo crear tu propio Spotify Wrapped in Kibana</a></p></li><li><p><a href="https://www.elastic.co/search-labs/blog/elasticsearch-anomaly-detection-jobs">Parte 3: Empleos de población para detección de anomalías</a></p></li><li><p><a href="https://www.elastic.co/search-labs/blog/find-relationships-in-data">Parte 4: Detección de relaciones en los datos</a></p></li><li><p><a href="https://www.elastic.co/search-labs/blog/vectors-spotify-wrapped-part-05">Parte 5: Encontrar a tu mejor amigo musical con vectores</a></p></li></ul>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/spotify-wrapped-data-analysis-visualization</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/spotify-wrapped-data-analysis-visualization</guid>
    <category><![CDATA[Kibana]]></category>
    <category><![CDATA[analíticas]]></category>
    <dc:creator><![CDATA[Philipp Kahr]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt7f8cddbca1a54cd5/6a17e5efe9ea87717ba9c585/e04f85e87b5b4e69b6e2df9367840a56985b96a1-1792x1024.png" length="0" type="image/png"/>
    <pubDate>Tue, 25 Feb 2025 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>