Campionamento di linee ad alta densità in Power BIHigh density line sampling in Power BI

A partire dalla versione di giugno 2017 di Power BI Desktop e dagli aggiornamenti del servizio Power BI, è disponibile un nuovo algoritmo di campionamento che migliora gli oggetti visivi che campionano i dati ad alta densità.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. Ad esempio, è possibile creare un grafico a linee dai risultati delle vendite dei negozi, ciascuno dei quali con più di diecimila ricevute di vendita all'anno.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 grafico a linee di tali informazioni di vendita campionerebbe i dati (selezionerebbe cioè una rappresentazione significativa dei dati, per illustrare come le vendite variano nel tempo) dai dati di ciascun negozio, creando un grafico a linee multiserie che quindi rappresenta dati sottostanti.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. Si tratta di una pratica comune nella visualizzazione dei dati ad alta densità e Power BI Desktop ha migliorato il campionamento dei dati ad alta densità, come descritto dettagliatamente in questo articolo.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

L'algoritmo di campionamento ad alta densità descritto in questo articolo si applica ed è disponibile sia in Power BI Desktop sia nel servizio 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.

Come funziona il campionamento di linee ad alta densitàHow high density line sampling works

In precedenza, Power BI selezionava una raccolta di punti dati di esempio nell'intero intervallo di dati sottostanti in modo deterministico.Previously, Power BI selected a collection of sample data points in the full range of underlying data in a deterministic fashion. Ad esempio, per i dati ad alta densità su un oggetto visivo che si estendeva su un anno di calendario, potevano esserci 350 punti dati di esempio visualizzati nell'oggetto visivo, ciascuno dei quali era stato selezionato per verificare che l'intera gamma di dati (la serie complessiva dei dati sottostanti) fosse rappresentata nell'oggetto visivo.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. Per comprenderne il funzionamento, si immagini di aver tracciato il prezzo delle azioni nel periodo di un anno e di aver selezionato 365 punti dati in un oggetto visivo di grafico a linee (cioè un punto dati per ogni giorno).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).

In tal caso, esistono molti valori per un prezzo azionario nell'ambito di ogni giorno.In that situation, there are many values for a stock price within each day. Naturalmente esistono un valore massimo e minimo giornaliero, ma questi possono verificarsi in qualsiasi momento del giorno quando il mercato azionario è aperto.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. Per il campionamento di linee ad alta densità, se il campione di dati sottostante è stato acquisto alle 10:30 e alle 12:00 di ogni giorno, si potrebbe ottenere un'istantanea rappresentativa dei dati sottostanti (il prezzo alle 10:30 e alle 12:00), ma si potrebbe non catturare i prezzi massimo e minimo effettivi della quotazione per tale punto dati rappresentativo (tale giornata).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). In questa e in altre situazioni, il campionamento è rappresentativo dei dati sottostanti, ma non sempre acquisisce i punti importanti, che in questo caso sarebbero i valori massimi minimi del prezzo azionario giornaliero.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.

Per definizione, verranno campionati i dati ad alta densità per abilitare le visualizzazioni che è possibile creare abbastanza rapidamente, 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, 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, è ciò che comporta la creazione dell'algoritmo di campionamento.How such data is sampled, to provide the best visualization experience, is what drives the creation of the sampling algorithm. In Power BI Desktop, l'algoritmo è stato migliorato per fornire la combinazione migliore delle velocità di risposta, della rappresentazione e della conservazione dei punti importanti in ogni intervallo di tempo.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.

Funzionamento del nuovo algoritmo di campionamento di lineeHow the new line sampling algorithm works

Il nuovo algoritmo per il campionamento di linee ad alta densità è disponibile per gli oggetti visivi di grafico a linee e grafico ad aree con un asse x continuo.The new algorithm for high density line sampling is available for line chart and area chart visuals with a continuous x axis.

Per un oggetto visivo ad alta densità, Power BI suddivide in modo intelligente i dati in blocchi ad alta risoluzione e quindi rileva punti importanti per rappresentare ogni blocco.For a high density visual, Power BI intelligently slices your data into high resolution chunks, and then picks important points to represent each chunk. Questo processo di suddivisione dei dati ad alta risoluzione è ottimizzato per assicurarsi che il grafico risultante sia visivamente distinguibile dal rendering di tutti i punti dati sottostanti, ma molto più veloce e più interattivo.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.

Valori minimo e massimo per oggetti visivi a linee ad alta densitàMinimum and maximum values for high density line visuals

Per qualsiasi visualizzazione specificata, si applicano le seguenti limitazioni visive:For any given visualization, the following visual limitations apply:

  • 3.500 è il numero massimo di punti dati visualizzati sull'oggetto visivo, indipendentemente dal numero di serie o punti dati sottostante.3,500 is the maximum number data points displayed on the visual, regardless of the number of underlying data points or series. Di conseguenza, se si hanno 10 serie con 350 punti dati ciascuna, l'oggetto visivo ha raggiunto il limite di punti dati complessivo massimo.As such, if you have 10 series with 350 data points each, the visual has reached its maximum overall data points limit. Se si ha una sola serie, essa può contenere fino a 3.500 punti dati se il nuovo algoritmo lo ritiene il miglior campionamento per i dati sottostanti.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.
  • Esiste un massimo di 60 serie per qualsiasi oggetto visivo.There is a maximum of 60 series for any visual. Se si hanno più di 60 serie, suddividere i dati e creare più oggetti visivi con massimo 60 serie ciascuno.If you have more than 60 series, break up the data and create multiple visuals with 60 or less series each. È consigliabile usare un filtro dei dati per mostrare solo i segmenti dei dati (solo alcune serie).It's good practice to use a slicer to show only segments of the data (only certain series). Ad esempio, se tutte le sottocategorie sono visualizzate nella legenda, è possibile usare un filtro dei dati per filtrare in base alla categoria generale nella stessa pagina del report.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.

Questi parametri garantiscono che il rendering degli oggetti visivi in Power BI Desktop avvenga molto rapidamente e che gli oggetti rispondano all'interazione con gli utenti e non comportino un overhead di elaborazione superfluo nel computer di rendering dell'oggetto visivo.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.

Valutazione di punti dati rappresentativi per gli oggetti visivi a linee ad alta densitàEvaluating representative data points for high density line visuals

Quando il numero di punti dati sottostanti supera i punti dati che possono essere rappresentati nell'oggetto visivo (oltre 3.500), inizia un processo denominato creazione di contenitori, che suddivide i dati sottostanti in gruppi denominati contenitori e quindi li perfeziona in modo iterativo.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.

L'algoritmo crea tanti contenitori quanti sono possibili in modo creare la granularità maggiore per l'oggetto visivo.The algorithm creates as many bins as possible to create the greatest granularity for the visual. All'interno di ogni contenitore, l'algoritmo rileva il valore di dati minimo e massimo, per assicurarsi che i valori importanti e significativi (ad esempio, outlier) vengano acquisiti e visualizzati nell'oggetto visivo.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. In base ai risultati della creazione di contenitori e alla valutazione successiva dei dati da parte di Power BI, viene determinata la risoluzione minima per l'asse x per l'oggetto visivo, in modo da garantire la massima granularità per l'oggetto visivo.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.

Come accennato in precedenza, la granularità minima per ogni serie è 350 punti, la massima è 3.500.As mentioned previously, the minimum granularity for each series is 350 points, the maximum is 3,500.

Ogni contenitore è rappresentato da due punti dati, che diventano i punti dati rappresentativi del contenitore nell'oggetto visivo.Each bin is represented by two data points, which become the bin's representative data points in the visual. I punti dati sono semplicemente il valore alto e basso per tale contenitore e, selezionandoli, il processo di creazione contenitori garantisce che qualsiasi importante valore alto o significativo valore basso sia acquisito e che ne venga eseguito il rendering nell'oggetto visivo.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.

Se tutto ciò suggerisce una gran quantità di analisi per assicurarsi di acquisire occasionalmente un outlier e di visualizzarlo correttamente nell'oggetto visivo, è proprio così: è esattamente questo il motivo alla base del nuovo algoritmo e del processo di creazione contenitori.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.

Descrizioni comandi e campionamento di linee ad alta densitàTooltips and high density line sampling

È importante notare che è il processo di creazione contenitori, che restituisce il valore minimo e massimo in un determinato contenitore acquisito e visualizzato nell'oggetto visivo, può influire sul modo in cui le descrizioni comandi mostrano i dati quando si passa il mouse sui punti dati.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. Per illustrare come e perché ciò accade, rivediamo l'esempio dei prezzi delle azioni precedentemente citato in questo articolo.To explain how and why this occurs, let’s revisit our example about stock prices from earlier in this article.

Si supponga che si stia creando un oggetto visivo in base al prezzo azionario e che si stia eseguendo il confronto di due azioni diverse, che usano entrambe il campionamento ad alta densità.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. I dati sottostanti per ogni serie contengono molti punti dati (è possibile acquisire il prezzo azionario ogni secondo del giorno).The underlying data for each series has lots of data points (maybe you capture the stock price each second of the day). L'algoritmo di campionamento di linee ad alta densità eseguirà la creazione di contenitori per ogni serie indipendentemente dall'altra.The high density line sampling algorithm with perform binning for each series independently of the other.

Ora si supponga che il prezzo della prima azione aumenti improvvisamente alle 12:02, quindi diminuisca rapidamente dieci secondi dopo: si tratta di un punto dati 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. Durante la creazione di contenitori per tale azione, il valore alto delle 12:02 sarà un punto dati rappresentativo per tale contenitore.When binning occurs for that stock, the high at 12:02 will be a representative data point for that bin.

Ma per la seconda azione, alle 12:02 non si è registrato né un valore alto né basso nel contenitore che includeva quell'ora: forse il valore alto e basso per il contenitore che include le 12:02 si è registrato tre minuti dopo.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. In tale situazione, quando si crea il grafico a linee e si passa il mouse sulle ore 12:02, verrà visualizzato un valore nella descrizione comando per la prima azione (perché è aumentata alle 12:02 e tale valore è stato selezionato come punto dati alto di tale contenitore), ma non si vedrà alcun valore nella descrizione comandi alle 12:02 per la seconda azione.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. Ciò avviene perché la seconda azione non aveva né un valore alto né un valore basso per il contenitore che includeva le 12:02.That's because the second stock had neither a high, nor a low, for the bin that included 12:02. Quindi, non sono presenti dati da visualizzare per la seconda azione alle 12:02 e, di conseguenza, non verranno visualizzati dati di descrizione comandi.So there's no data to show for the second stock at 12:02, and thus, no tooltip data is displayed.

Questa situazione si verifica frequentemente con le descrizioni comandi.This situation will happen frequently with tooltips. I valori alto e basso per un determinato contenitore potrebbero non corrispondere perfettamente ai punti di valore dell'asse x ridimensionati in modo uniforme e, di conseguenza, la descrizione comando non visualizzerà alcun valore.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.

Come attivare il campionamento di linee ad alta densitàHow to turn on high density line sampling

Per impostazione predefinita, il nuovo algoritmo è attivato.By default, the new algorithm is turned on. Per modificare questa impostazione, passare al riquadro Formattazione nella scheda Generale e nella parte inferiore sarà visibile un interruttore denominato Campionamento ad alta densità.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. Per disattivarlo, scorrere verso Disattiva.To turn it off, slide it to Off.

Considerazioni e limitazioniConsiderations and limitations

Il nuovo algoritmo per il campionamento di linee ad alta densità è un miglioramento importante per Power BI, ma è necessario tenere conto di alcuni aspetti quando si elaborano dati e valori ad alta densità.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.

  • A causa di una maggiore granularità e del processo di creazione di contenitori, le descrizioni comandi potrebbero visualizzare un valore solo se i dati rappresentativi sono allineati con il cursore.Because of increased granularity and the binning process, Tooltips may only show a value if the representative data is aligned with your cursor. Per saperne di più, vedere la precedente sezione sulle descrizioni comandi di questo articolo.See the section earlier in this article on Tooltips for more information.
  • Quando le dimensioni di un'origine di dati complessiva sono troppo grande, il nuovo algoritmo elimina le serie (gli elementi della legenda) per soddisfare il vincolo massimo di importazione di dati.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.

    • In questo caso, il nuovo algoritmo ordina la legenda delle serie alfabeticamente e inizia dal basso l'elenco di elementi della legenda in ordine alfabetico, fino a quando non viene raggiunto il massimo di importazione di dati e non importa serie aggiuntive.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.
  • Quando un set di dati sottostante contiene più di 60 serie (il numero massimo di serie, come descritto in precedenza), il nuovo algoritmo ordina la serie alfabeticamente ed elimina le serie oltre la sessantesima in ordine alfabetico.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.
  • Se i valori nei dati non sono di tipo numerico o data/ora, Power BI non userà il nuovo algoritmo e ripristinerà l'algoritmo precedente (campionamento non ad alta densità).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.
  • L'impostazione Mostra elementi senza dati non è supportata con il nuovo algoritmo.The Show items with no data setting is not supported with the new algorithm.
  • Il nuovo algoritmo non è supportato quando si usa una connessione dinamica a un modello ospitato in SQL Server Analysis Services (versione 2016 o precedenti).The new algorithm is not supported when using a live connection to a model hosted in SQL Server Analysis Services (version 2016 or earlier). È supportato nei modelli ospitati in Power BI o Azure Analysis Services.It is supported in models hosted in Power BI or Azure Analysis Services.

Passaggi successiviNext steps

Per informazioni sul campionamento ad alta densità nei grafici a dispersione, vedere l'articolo seguente.For information about high density sampling in scatter charts, see the following article.