Muestreo de líneas de alta densidad en Power BIHigh density line sampling in Power BI

Desde la versión de junio de 2017 de Power BI Desktop y las actualizaciones al servicio Power BI, hay disponible un nuevo algoritmo de muestreo que mejora los objetos visuales con muestreos de datos de alta densidad.Beginning with the June 2017 release of the Power BI Desktop and updates to the Power BI service, a new sampling algorithm is available that improves visuals that sample high density data. Por ejemplo, puede crear un gráfico de líneas a partir de los resultados de ventas de sus tiendas, con cada tienda con más de diez mil recibos de ventas cada año.For example, you might create a line chart from your retail stores’ sales results, each store having more than ten thousand sales receipts each year. Un gráfico de líneas de dicha información de ventas realizará un muestreo de los datos (seleccionando una representación significativa de los datos para ilustrar cómo varían las ventas a través del tiempo) a partir de los datos de cada tienda, y creará un gráfico de líneas de varias series que, por lo tanto, representa datos subyacentes.A line chart of such sales information would sample data (select a meaningful representation of that data, to illustrate how sales varies over time) from the data for each store, and create a multi-series line chart that thereby represents underlying data. Esta es una práctica común en la visualización de los datos de alta densidad y Power BI Desktop ha mejorado el muestreo de datos de alta densidad, cuyos detalles se describen en este artículo.This is common practice in visualizing high density data, and Power BI Desktop has improved its sampling of high density data, the details of which are described in this article.

Nota

El algoritmo de muestreo de alta densidad que se describe en este artículo se aplica y está disponible, tanto en Power BI Desktop como en el servicio Power BI.The high density sampling algorithm described in this article applies to, and is available in, both Power BI Desktop and the Power BI service.

Cómo funciona el muestreo de líneas de alta densidadHow high density line sampling works

Anteriormente, Power BI seleccionaba una colección de puntos de datos de muestra en el intervalo completo de datos subyacentes de manera determinista.Previously, Power BI selected a collection of sample data points in the full range of underlying data in a deterministic fashion. Por ejemplo, para los datos de alta densidad en un objeto visual que abarquen un año de calendario, puede haber 350 puntos de datos de muestra que aparezcan en el objeto visual, cada uno de los cuales se seleccionó para asegurarse de que el rango de datos completo (la serie completa de datos subyacentes) aparece representado en el objeto visual.For example, for high density data on a visual spanning one calendar year, there might be 350 sample data points displayed in the visual, each of which was selected to ensure the full range of data (the overall series of underlying data) was represented in the visual. Para ayudarle a entender cómo sucede esto, imagine que se va a trazar la cotización en bolsa durante un período de un año, y se seleccionan 365 puntos de datos para crear un objeto visual de gráfico de líneas que tendrá por tanto un punto de datos para cada día.To help understand how this happens, imagine we were plotting stock price over a one-year period, and selected 365 data points to create a line chart visual (that's one data point for each day).

En ese caso, dentro de cada día hay muchos valores para la cotización en bolsa.In that situation, there are many values for a stock price within each day. Por supuesto, hay un mínimo y un máximo diarios, pero estos pueden producirse en cualquier momento durante el día mientras la bolsa de valores esté abierta.Of course there is a daily high and low, but those could occur at any time during the day when the stock market is open. Para el muestreo de líneas de alta densidad, si se toma la muestra de los datos subyacente a las 10:30 a.m. y las 12:00 p.m. cada día, se obtendría una instantánea representativa de los datos subyacentes (el precio de las acciones a las 10:30 a.m. y a las 12:00 p.m.), pero esto podría no capturar el máximo y el mínimo de la cotización para ese punto de datos representativo (ese día).For high density line sampling, if the underlying data sample was taken at 10:30am and 12:00pm each day, you would get a representative snapshot of the underlying data (the price at 10:30am and 12:00pm), but it might not capture the actual high and low of the stock price for that representative data point (that day). En esta y otras situaciones, el muestreo es representativo de los datos subyacentes pero no siempre captura puntos importantes, que en este caso serían las cotizaciones máxima y mínima diarias.In that situation – and others – the sampling is representative of the underlying data, but it doesn’t always capture important points, which in this case would be daily stock price highs and lows.

Por definición, los datos de alta densidad se muestrean para habilitar visualizaciones que se creen de forma razonablemente rápida y que respondan a la interactividad (si hay demasiados puntos de datos en un objeto visual este puede bloquearse y la visibilidad de las tendencias puede quedar limitada).By definition, high density data is sampled to enable visualizations that can be created reasonably quickly, are responsive to interactivity (too many data points on a visual can bog it down, and can detract from the visibility of trends). La forma en la que se muestrean los datos para proporcionar la mejor experiencia de visualización, es lo que dirige la creación del algoritmo de muestreo.How such data is sampled, to provide the best visualization experience, is what drives the creation of the sampling algorithm. En Power BI Desktop, se ha mejorado el algoritmo para proporcionar la mejor combinación de capacidad de respuesta, representación y conservación de los puntos importantes en cada segmento de tiempo.In Power BI Desktop, the algorithm has been improved to provide the best combination of responsiveness, representation, and clear preservation of important points in each time slice.

Cómo funciona el nuevo algoritmo de muestreo de líneasHow the new line sampling algorithm works

El nuevo algoritmo para el muestreo de líneas de alta densidad está disponible para los elementos visuales de gráfico de líneas y gráfico de áreas con un eje x continuo.The new algorithm for high density line sampling is available for line chart and area chart visuals with a continuous x axis.

Para un elemento visual de alta densidad, Power BI segmenta de forma inteligente los datos en fragmentos de alta resolución y, a continuación, elige los puntos importantes para representar cada fragmento.For a high density visual, Power BI intelligently slices your data into high resolution chunks, and then picks important points to represent each chunk. Este proceso de segmentación de datos de alta resolución se optimiza de forma específica para asegurarse de que el gráfico resultante es visualmente indistinguible de la representación de todos los puntos de datos subyacentes, pero es mucho más rápido y más interactivo.That process of slicing high resolution data is specifically tuned to ensure that the resulting chart is visually indistinguishable from rendering all of the underlying data points, but much faster and more interactive.

Valores mínimos y máximos para los objetos visuales de líneas alta densidadMinimum and maximum values for high density line visuals

Para cualquier visualización, se aplican las siguientes limitaciones visuales:For any given visualization, the following visual limitations apply:

  • 3.500 es el máximo número de puntos de datos que se muestran en el objeto visual, independientemente del número de puntos de datos subyacente o de series.3,500 is the maximum number data points displayed on the visual, regardless of the number of underlying data points or series. Por lo tanto, si tiene 10 series con 350 puntos de datos cada una, el objeto visual ha alcanzado su límite máximo de puntos de datos totales.As such, if you have 10 series with 350 data points each, the visual has reached its maximum overall data points limit. Si tiene una serie, puede tener hasta 3.500 puntos de datos si el nuevo algoritmo considera que ese es el mejor muestreo para los datos subyacentes.If you have one series, it may have up to 3,500 data points if the new algorithm deems that the best sampling for the underlying data.
  • Hay un máximo de 60 serie para cualquier objeto visual.There is a maximum of 60 series for any visual. Si tiene más de 60 series, divida los datos y cree varios objetos visuales con 60 o menos series cada uno.If you have more than 60 series, break up the data and create multiple visuals with 60 or less series each. Es recomendable usar una segmentación para mostrar solo los segmentos de los datos (solo determinadas serie).It's good practice to use a slicer to show only segments of the data (only certain series). Por ejemplo, si se muestran todas las subcategorías en la leyenda, podría usar una segmentación de datos para filtrar por la categoría general en la misma página del informe.For example, if you're displaying all subcategories in the legend, you could use a slicer to filter by the overall category on the same report page.

Estos parámetros aseguran que los objetos visuales en Power BI Desktop se representan muy rápidamente y responden a la interacción con los usuarios, y que no dan lugar a una sobrecarga de procesamiento en el equipo que genera la representación del objeto visual.These parameters ensure that visuals in Power BI Desktop render very quickly, and are responsive to interaction with users, and do not result in undue computational overhead on the computer rendering the visual.

Evaluación de puntos de datos representativos para objetos visuales de líneas de alta densidadEvaluating representative data points for high density line visuals

Cuando el número de puntos de datos subyacente supera los puntos de datos que se pueden representar en el objeto visual (más de 3.500), se inicia un proceso llamado discretización qué fragmenta los datos subyacentes en grupos llamados ubicacionesy, a continuación, refina de forma iterativa esas ubicaciones.When the number of underlying data points exceeds the data points that can be represented in the visual (exceeds 3,500), a process called binning begins, which chunks the underlying data into groups called bins, and then iteratively refines those bins.

El algoritmo crea tantas ubicaciones como sea posible para crear la mayor granularidad para el objeto visual.The algorithm creates as many bins as possible to create the greatest granularity for the visual. Dentro de cada ubicación, el algoritmo busca el valor de datos mínimo y máximo, para asegurarse de que los valores importantes y significativos (por ejemplo, los valores atípicos) se capturan y muestran en el objeto visual.Within each bin, the algorithm finds the minimum and maximum data value, to ensure that important and significant values (for example, outliers) are captured and displayed in the visual. Basándose en los resultados de la discretización y la evaluación posterior de los datos que realiza Power BI, se determina la resolución mínima para el eje x del objeto visual, con el fin de asegurar la máxima granularidad para el objeto visual.Based on the results of the binning and subsequent evaluation of the data by Power BI, the minimum resolution for the x axis for the visual is determined – to ensure maximum granularity for the visual.

Como se mencionó anteriormente, la granularidad mínima para cada serie es 350 puntos y la máxima 3.500.As mentioned previously, the minimum granularity for each series is 350 points, the maximum is 3,500.

Cada ubicación se representa mediante dos puntos de datos, que se convierten en los puntos de datos representativos de la ubicación en el objeto visual.Each bin is represented by two data points, which become the bin's representative data points in the visual. Los puntos de datos son simplemente los valores alto y bajo para esa ubicación; la selección de los valores alto y bajo en el proceso de discretización garantiza que cualquier valor alto importante, o valor bajo significativo, se captura y aparece representado en el objeto visual.The data points are simply the high and low value for that bin, and by selecting the high and low, the binning process ensures any important high value, or significant low value, is captured and rendered in the visual.

Si todo esto suena a que se analiza mucho para asegurarse de que se captura el valor atípico ocasional y se muestra correctamente en el objeto visual, es porque se trata precisamente de eso, y esta es la razón que se encuentra tras el nuevo algoritmo y proceso de discretización.If that sounds like a lot of analysis to ensure the occasional outlier is captured, and is properly displayed in the visual, then you are correct – and that’s exactly the reason behind the new algorithm and binning process.

Información sobre herramientas y muestreo de líneas de alta densidadTooltips and high density line sampling

Es importante tener en cuenta que este proceso de discretización, que da como resultado la captura y representación en el objeto visual de los valores mínimo y máximo en una ubicación determinada, puede afectar a la forma en la que la información sobre herramientas muestra los datos cuando se mantiene el mouse sobre los puntos de datos.It’s important to note that this binning process, which results in the minimum and maximum value in a given bin being captured and displayed in the visual, may affect how tooltips display data when you hover over data points. Para explicar cómo y por qué ocurre esto, vamos a recurrir otra vez al ejemplo sobre cotizaciones en bolsa del principio del artículo.To explain how and why this occurs, let’s revisit our example about stock prices from earlier in this article.

Supongamos que va a crear un objeto visual basado en las cotizaciones en bolsa y que compara dos paquetes de acciones diferentes, ambos utilizan muestreo de alta densidad.Let’s say you’re creating a visual based on stock price, and you're comparing two different stocks, both of which are using High Density Sampling. Los datos subyacentes para cada serie tienen un gran número de puntos de datos (por ejemplo, puede capturar el precio de las acciones cada segundo del día).The underlying data for each series has lots of data points (maybe you capture the stock price each second of the day). El algoritmo de muestreo de líneas de alta densidad realiza la discretización de forma independiente para cada serie.The high density line sampling algorithm with perform binning for each series independently of the other.

Ahora supongamos que el primer paquete de acciones sube de precio a las 12:02, y diez segundos más tarde, vuelve a bajar volviendo rápidamente al mismo valor, este es un punto de datos importante.Now let's say the first stock jumps up in price at 12:02, then quickly comes back down ten seconds later – that’s an important data point. Cuando se produce la discretización de esas acciones, la subida de las 12:02 será un punto de datos representativo para esa ubicación.When binning occurs for that stock, the high at 12:02 will be a representative data point for that bin.

Pero para el segundo lote de acciones, 12:02 no tiene un valor alto ni bajo en la ubicación que incluye esa hora (puede que el valor alto y bajo de la ubicación que incluye 12:02 se produjese tres minutos más tarde).But for the second stock, 12:02 was neither a high nor a low in the bin that included that time - maybe the high and low for the bin that includes 12:02 occurred three minutes later. En este caso, cuando se crea el gráfico de líneas y se coloca el mouse sobre 12:02, se verá un valor en la información sobre herramientas para las acciones del primer paquete (porque subió a las 12:02 y ese valor se ha seleccionado como punto de datos alto de esa ubicación), pero no se verá ningún valor en la información sobre herramientas a las 12:02 para el segundo paquete.In that situation, when the line chart is created and you hover over 12:02, you will see a value in the tooltip for the first stock (because it jumped at 12:02 and that value was selected as that bin's high data point), but you will not see any value in the tooltip at 12:02 for the second stock. Esto es porque el segundo paquete de acciones no tuvo ningún valor alto ni bajo, en la ubicación que incluye 12:02.That's because the second stock had neither a high, nor a low, for the bin that included 12:02. Por lo tanto, no hay ningún dato para mostrar para el segundo paquete de acciones en 12:02, luego no se muestra ningún dato en la información sobre herramientas.So there's no data to show for the second stock at 12:02, and thus, no tooltip data is displayed.

Esta situación aparece con frecuencia en la información sobre herramientas.This situation will happen frequently with tooltips. Los valores altos y bajos de una ubicación determinada pueden no coincidir exactamente con los puntos de valor que siguen la escala uniforme en el eje x, por lo tanto, en ese caso, la información sobre herramientas no mostrará ningún valor.The high and low values for a given bin might not match perfectly with the evenly scaled x-axis value points, and as such the tooltip will not display the value.

Cómo activar el muestreo de líneas de alta densidadHow to turn on high density line sampling

De forma predeterminada, el nuevo algoritmo está activado.By default, the new algorithm is turned on. Para cambiar este ajuste, vaya al panel Formato, en la tarjeta General, y en la parte inferior verá un control deslizante de alternancia llamado Muestreo de alta densidad.To change this setting, go to the Formatting pane, in the General card, and along the bottom you see a toggle slider called High Density Sampling. Para desactivar esta función, cámbiela a Desactivar.To turn it off, slide it to Off.

Consideraciones y limitacionesConsiderations and limitations

El nuevo algoritmo para el muestreo de líneas de alta densidad es una mejora importante en Power BI, pero hay algunas consideraciones que debe conocer a la hora de trabajar con datos y valores de alta densidad.The new algorithm for high density line sampling is an important improvement to Power BI, but there are a few considerations you need to know when working with high density values and data.

  • Debido a una mayor granularidad y al proceso de discretización, es posible que las informaciones sobre herramientas solo muestren un valor si hay datos representativos que estén alineados con el cursor.Because of increased granularity and the binning process, Tooltips may only show a value if the representative data is aligned with your cursor. Si desea información más completa acuda a la sección de información sobre herramientas que se encuentra más arriba en este artículo.See the section earlier in this article on Tooltips for more information.
  • Cuando el tamaño de un origen de datos global es demasiado grande, el nuevo algoritmo elimina series (elementos de leyenda) para dar cabida a la restricción máxima de importación de datos.When the size of an overall data source is too big, the new algorithm eliminates series (legend elements) to accommodate the data import maximum constraint.

    • En esta situación, el nuevo algoritmo ordena alfabéticamente las series de leyenda, empieza por el final de la lista de elementos de leyenda en orden alfabético, hasta que alcanza el máximo y no importa más series adicionales.In this situation, the new algorithm orders legend series alphabetically, and starts down the list of legend elements in alphabetical order, until the data import maximum is reached, and does not import additional series.
  • Cuando un conjunto de datos subyacentes tiene más de 60 series (es decir, el número máximo de series, como se describió anteriormente), el nuevo algoritmo ordena alfabéticamente las series y elimina aquellas que están más allá de la serie que tiene el número 60 en el orden alfabético.When an underlying data set has more than 60 series (the maximum number of series, as described earlier), the new algorithm orders the series alphabetically, and eliminates series beyond the 60th alphabetically-ordered series.
  • Si los valores de los datos no son del tipo numérico o fecha/hora, Power BI no usará el nuevo algoritmo y volverá al algoritmo anterior (muestreo de densidad no alta).If the values in the data are not of type numeric or date/time, Power BI will not use the new algorithm, and will revert to the previous (non-High Density Sampling) algorithm.
  • El ajuste Mostrar elementos sin datos no es compatible con el nuevo algoritmo.The Show items with no data setting is not supported with the new algorithm.
  • El nuevo algoritmo no se admite cuando se usa una conexión dinámica a un modelo que se hospeda en SQL Server Analysis Services (versión 2016 o una versión anterior).The new algorithm is not supported when using a live connection to a model hosted in SQL Server Analysis Services (version 2016 or earlier). Se admite en modelos hospedados en Power BI o Azure Analysis Services.It is supported in models hosted in Power BI or Azure Analysis Services.

Pasos siguientesNext steps

Para obtener información acerca del muestreo de alta densidad en gráficos de dispersión, consulte el artículo siguiente.For information about high density sampling in scatter charts, see the following article.