Campionamento ad alta densità nei grafici a dispersione di Power BIHigh density sampling in Power BI scatter charts

A partire dalla versione di settembre 2017 di Power BI Desktop e dagli aggiornamenti del servizio Power BI, è disponibile un nuovo algoritmo di campionamento che migliora il modo in cui i grafici a dispersione rappresentano i dati ad alta densità.Beginning with the September 2017 release of the Power BI Desktop and updates to the Power BI service, a new sampling algorithm is available that improves how scatter charts represent high density data.

È ad esempio possibile creare un grafico a dispersione dall'attività di vendita dell'organizzazione, in cui ogni negozio ha decine di migliaia di punti dati ogni anno.For example, you might create a scatter chart from your organization's sales activity, each store having tens of thousands of data points each year. Un grafico a dispersione di tali informazioni campionerebbe i dati (selezionerebbe cioè una rappresentazione significativa dei dati, per illustrare come le vendite procedono nel tempo) dai dati disponibili, creando un grafico a dispersione che rappresenta i dati sottostanti.A scatter chart of such information would sample data (select a meaningful representation of that data, to illustrate how sales occurred over time) from the available data, and create a scatter chart that represents the underlying data. Si tratta di una pratica comune nei grafici a dispersione ad alta densità e Power BI ha migliorato il campionamento dei dati ad alta densità, descritto dettagliatamente in questo articolo.This is common practice in high density scatter charts, and Power BI has improved its sampling of high density data, the details of which are described in this article.

Nota

L'algoritmo di campionamento ad alta densità descritto in questo articolo si applica ed è disponibile nei grafici a dispersione sia in Power BI Desktop che nel servizio Power BI.The high density sampling algorithm described in this article applies to, and is available in, scatter charts in both Power BI Desktop and the Power BI service.

Funzionamento dei grafici a dispersione ad alta densitàHow high density scatter charts work

In precedenza, Power BI selezionava una raccolta di punti dati di esempio nell'intero intervallo di dati sottostanti in modo deterministico per cerare un grafico a dispersione.Previously, Power BI selected a collection of sample data points in the full range of underlying data in a deterministic fashion to create a scatter chart. In particolare, Power BI seleziona la prima e l'ultima riga di dati nella serie del grafico a dispersione, quindi divide uniformemente le righe restanti in modo che un totale di 3.500 punti dati venga tracciato nel grafico a dispersione.Specifically, Power BI would select the first and last rows of data in the scatter chart series, then would divide the remaining rows evenly so that 3,500 data points total would be plotted on the scatter chart. Se ad esempio il campione ha 35.000 righe, la prima e l'ultima riga vengono selezionate per il tracciato, quindi viene tracciata anche una riga ogni dieci (35.000 / 10 = una riga ogni dieci = 3.500 punti dati).For example, if the sample had 35,000 rows, then the first and last rows would be selected for plotting, then every tenth row would also be plotted (35,000 / 10 = every tenth row = 3,500 data points). Sempre in precedenza, i punti o i valori Null che non potevano essere tracciati (ad esempio, i valori di testo) nella serie di dati non venivano visualizzati e quindi non tenuti in considerazione durante la generazione dell'oggetto visivo.Also previously, null values or points that could not be plotted (such as text values) in data series weren't shown, and thus were not considered when generating the visual. Con tale campionamento, anche la densità percepita del grafico a dispersione si basava sui punti dati rappresentativi e quindi la densità implicita degli oggetti visivi era il risultato dei punti campionati e non della raccolta completa dei dati sottostanti.And with such sampling, the perceived density of the scatter chart was also based on the representative data points, and thus the implied visual density was a circumstance of the sampled points, and not the full collection of the underlying data.

Quando si abilita Campionamento ad alta densità, Power BI implementa un algoritmo che elimina la sovrapposizione dei punti e assicura che i punti sull'oggetto visivo siano raggiungibili quando si interagisce con l'oggetto visivo.When you enable High Density Sampling, Power BI implements an algorithm that eliminates overlapping points, and ensures that the points on the visual can be reached when interacting with the visual. Assicura anche che tutti i punti di un set di dati vengano rappresentati nell'oggetto visivo, fornendo contesto al significato dei punti selezionati, invece di limitarsi a tracciare un campione rappresentativo.It also ensures that all points in data set are represented in the visual, providing context to the meaning of selected points, rather than just plotting a representative sample.

Per definizione, verranno campionati i dati ad alta densità per abilitare le visualizzazioni che è possibile creare abbastanza rapidamente e sono disponibili all'interattività (troppi punti dati su un oggetto visivo possono bloccarlo e possono comportare una riduzione della visibilità delle tendenze).By definition, high density data is sampled to enable visualizations that can be created reasonably quickly, and are responsive to interactivity (too many data points on a visual can bog it down, and can detract from the visibility of trends). Il modo in cui tali dati verranno campionati, per offrire la migliore esperienza di visualizzazione e assicurare che tutti i dati vengano rappresentati, è ciò che comporta la creazione dell'algoritmo di campionamento.How such data is sampled, to provide the best visualization experience and ensure all data is represented, is what drives the creation of the sampling algorithm. In Power BI l'algoritmo è stato migliorato per fornire la combinazione migliore delle velocità di risposta, della rappresentazione e della conservazione dei punti importanti nel set di dati completo.In Power BI, the algorithm has been improved to provide the best combination of responsiveness, representation, and clear preservation of important points in the overall data set.

Nota

Il modo migliore per tracciare i grafici a dispersione che usano l'algoritmo di campionamento ad alta densità è usare oggetti visivi quadrati, come per tutti i grafici a dispersione.Scatter charts using the high density sampling algorithm are best plotted on square visuals, as with all scatter charts.

Funzionamento del nuovo algoritmo di campionamento dei grafici a dispersioneHow the new scatter chart sampling algorithm works

Il nuovo algoritmo per il campionamento ad alta densità per i grafici a dispersione usa metodi che acquisiscono e rappresentano i dati sottostanti in modo più efficace ed eliminano la sovrapposizione dei punti.The new algorithm for High Density Sampling for scatter charts employs methods that capture and represent the underlying data more effectively, and eliminate overlapping points. Ciò avviene a partire da un raggio di piccole dimensioni per ogni punto dati (le dimensioni del cerchio dell'oggetto visivo per un determinato punto della visualizzazione).It does this by starting with a small radius for each data point (the visual circle size for a given point on the visualization). Il raggio di tutti i punti dati viene quindi aumentato. Quando due (o più) punti dati si sovrappongono, un singolo cerchio (con le dimensioni del raggio aumentate) rappresenta tali punti dati sovrapposti.It then increases the radius of all data points; when two (or more) data points overlap, a single circle (of the increased radius size) represents those overlapped data points. L'algoritmo continua ad aumentare il raggio dei punti dati, finché il valore del raggio non restituisce un numero ragionevole di punti dati, 3.500, visualizzati nel grafico a dispersione.The algorithm continues to increase the radius of data points, until that radius value results in a reasonable number of data points - 3,500 - being displayed in the scatter chart.

I metodi di questo algoritmo assicurano che gli outlier vengano rappresentati nell'oggetto visivo risultante.The methods in this algorithm ensure that outliers are represented in the resulting visual. L'algoritmo rispetta anche la scala quando determina la sovrapposizione, in modo che vengano visualizzate scale esponenziali fedeli ai punti visualizzati sottostanti.The algorithm respects scale when determining overlap, too, such that exponential scales are visualized with fidelity to the underlying visualized points.

L'algoritmo mantiene anche la forma complessiva del grafico a dispersione.The algorithm also preserves the overall shape of the scatter chart.

Nota

Quando si usa l'algoritmo di campionamento ad alta densità per i grafici a dispersione, l'obiettivo è un'accurata distribuzione dei dati e non la densità implicita degli oggetti visivi.When using the High Density Sampling algorithm for scatter charts, accurate distribution of the data is the goal, and implied visual density is not the goal. È ad esempio possibile visualizzare un grafico a dispersione con molti cerchi che si sovrappongono (densità) in una determinata area, in cui è necessario il clustering di più punti dati. Poiché l'algoritmo di campionamento ad alta densità può usare un cerchio per rappresentare più punti dati, tale densità implicita degli oggetti visivi (o "clustering") non verrà visualizzata.For example, you might see a scatter chart with lots of circles that overlap (density) in a certain area, and imagine many data points must be clustered there; since the High Density Sampling algorithm can use one circle to represent many data points, such implied visual density (or "clustering") will not show up. Per ottenere maggiori dettagli in una determinata area, è possibile usare i filtri dei dati per fare zoom avanti.To get more detail in a given area, you can use slicers to zoom in.

Inoltre i punti dati che non possono essere tracciati (ad esempio, i valori Null o di testo) vengono ignorati, quindi viene selezionato un altro valore che può essere tracciato, per assicurare che venga mantenuta la vera forma del grafico a dispersione.In addition, data points that cannot be plotted (such as nulls or text values) are ignored, so another value that can be plotted is selected, further ensuring the true shape of the scatter chart is maintained.

Quando viene usato l'algoritmo standard per i grafici a dispersioneWhen the standard algorithm for scatter charts is used

In alcuni casi non è possibile applicare il campionamento ad alta densità a un grafico a dispersione e viene quindi usato l'algoritmo originale.There are circumstances under which High Density Sampling cannot be applied to a scatter chart, and the original algorithm is used. Questi casi sono i seguenti:Those circumstances are the following:

  • Se si fa clic con il pulsante destro del mouse su Dettagli, quindi si sceglie Mostra elementi senza dati dal menu visualizzato, il grafico a dispersione tornerà all'algoritmo originale.If you right-click on Details, then select Show items with no data from the menu that appears, the scatter chart will revert to the original algorithm.

  • Se sono presenti valori sull'asse di riproduzione, il grafico a dispersione ripristinerà l'algoritmo originale.Any values in the Play axis will result in the scatter chart reverting to the original algorithm.
  • Se in un grafico a dispersione mancano sia l'asse X che l'asse Y, il grafico ripristina l'algoritmo originale.If both X and Y axes are missing on a scatter chart, the chart reverts to the original algorithm.
  • Se si usa una riga del rapporto nel riquadro Analisi, il grafico ripristina l'algoritmo originale.Using a Ratio line in the Analytics pane results in the chart reverting to the original algorithm.

Attivazione del campionamento ad alta densità per un grafico a dispersioneHow to turn on high density sampling for a scatter chart

Per attivare il campionamento ad alta densità, selezionare un grafico a dispersione e quindi andare al riquadro Formattazione ed espandere la scheda Generale.To turn on High Density Sampling, select a scatter chart and then go to the Formatting pane, and expand the General card. Nella parte inferiore di tale scheda è disponibile un dispositivo di scorrimento denominato Campionamento ad alta densità.Near the bottom of that card, a toggle slider called High Density Sampling is available. Per attivarlo, scorrere verso Attiva.To turn it on, slide it to On.

Nota

Dopo che il dispositivo di scorrimento è stato attivato, Power BI proverà a usare l'algoritmo di campionamento ad alta densità quando possibile.Once the slider is turned on, Power BI will attempt to use the High Density Sampling algorithm whenever possible. Quando l'algoritmo non può essere usato (ad esempio, quando si inserisce un valore nell'asse di riproduzione), il dispositivo di scorrimento rimane impostato su Attiva anche se il grafico ha ripristinato l'algoritmo standard.When the algorithm cannot be used (for example, you place a value in the Play axis), the slider stays in the On position even though the chart has reverted to the standard algorithm. Se quindi si rimuove un valore dall'asse di riproduzione (o cambiano le condizioni per abilitare l'uso dell'algoritmo di campionamento ad alta densità), poiché il dispositivo di scorrimento è attivo, il grafico userà automaticamente il campionamento ad alta densità per tale grafico.If you then remove a value from the Play axis (or conditions change to enable use of the high density sampling algorithm), since the slider is on the chart will automatically use high density sampling for that chart.

Nota

I punti dati vengono raggruppati e/o selezionati dall'indice.Data points are grouped and/or selected by the index. La presenza di una legenda non influisce sul campionamento per l'algoritmo, ma solo sull'ordinamento dell'oggetto visivo.Having a legend does not affect sampling for the algorithm, it only affects the ordering of the visual.

Considerazioni e limitazioniConsiderations and limitations

L'algoritmo per il campionamento ad alta densità è un miglioramento importante per Power BI, ma esistono alcune considerazioni da fare quando si elaborano valori e grafici a dispersione ad alta densità.The high density sampling algorithm is an important improvement to Power BI, but there are a few considerations you need to know when working with high density values and scatter charts.

  • L'algoritmo di campionamento ad alta densità funziona solo con le connessioni in tempo reale ai modelli basati sul servizio Power BI, ai modelli importati o a DirectQuery.The High Density Sampling algorithm only works with live connections to Power BI service-based models, imported models, or DirectQuery.

Passaggi successiviNext steps

Per altre informazioni sul campionamento ad alta densità in altri grafici, vedere l'articolo seguente.For more information about high density sampling in other charts, see the following article.