Échantillonnage de lignes à haute densité dans Power BIHigh density line sampling in Power BI

Depuis la publication en juin 2017 de Power BI Desktop et des mises à jour du service Power BI, un nouvel algorithme d’échantillonnage est disponible, qui améliore les visuels qui échantillonnent des données à haute 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. Par exemple, vous pouvez créer un graphique en courbes à partir des résultats des ventes de magasins, chacun d’eux enregistrant plus de dix mille reçus d’achat chaque année.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 graphique en courbes de telles informations échantillonne des données (sélectionnez une représentation explicite de ces données pour illustrer les variations des ventes au fil du temps) à partir des données de chaque magasin, et illustre plusieurs séries, représentant ainsi des données sous-jacentes.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. Il s’agit d’une pratique courante dans la visualisation de données à haute densité, et Power BI Desktop a amélioré son échantillonnage des données à haute densité décrit en détail dans cet article.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.

Note

L’algorithme d’échantillonnage à haute densité décrit dans cet article s’applique tant à Power BI Desktop qu’au service Power BI, et est disponible dans les deux.The high density sampling algorithm described in this article applies to, and is available in, both Power BI Desktop and the Power BI service.

Fonctionnement de l’échantillonnage de ligne à haute densitéHow high density line sampling works

Auparavant, Power BI sélectionnait une collection de points de données échantillons dans la plage complète des données sous-jacentes de manière déterministe.Previously, Power BI selected a collection of sample data points in the full range of underlying data in a deterministic fashion. Par exemple, pour des données à haute densité sur un visuel s’étendant sur une année civile, il pouvait y avoir 350 points de données échantillons affichés dans le visuel, chacun d’eux étant sélectionné de manière à s’assurer que la plage complète des données (la série globale de données sous-jacentes) était représentée dans le visuel.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. Pour comprendre comment cela fonctionne, imaginons que nous tracions une cotation sur une période d’un an, et que nous ayons sélectionné 365 points de données pour créer un visuel de graphique en courbes (soit un point de données pour chaque jour).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).

Dans ce cas, il existe un grand nombre de valeurs pour une cotation chaque jour.In that situation, there are many values for a stock price within each day. Bien entendu, il existe des hausses et des baisses chaque jour, mais celles-ci peuvent se produire à tout moment de la journée lorsque la bourse est ouverte.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. Pour un échantillonnage de ligne à haute densité, si l’échantillon de données sous-jacentes a été pris à 10 h 30 et à 24 h 00 quotidiennement, vous obtenez un instantané représentatif des données sous-jacentes (prix à 10 h 30 et à 24 h 00), mais il ne peut pas traduire les hausses et baisses réelles de la cotation pour ce point de données représentatif (ce jour-là).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). Dans ce cas (entre autres), l’échantillonnage est représentatif des données sous-jacentes, mais il ne capture pas toujours certains points importants, en l’occurrence les hausses et baisses quotidiennes de la cotation.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.

Par définition, des données à haute densité sont échantillonnées pour permettre une génération rapide de visualisations interactives (un trop grand nombre de points de données sur un visuel peut ralentir l’affichage de celui-ci et nuire à la lisibilité des tendances).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). Un algorithme d’échantillonnage est la manière dont ces données sont échantillonnées afin d’offrir une expérience de visualisation optimale.How such data is sampled, to provide the best visualization experience, is what drives the creation of the sampling algorithm. Dans Power BI Desktop, l’algorithme a été amélioré afin de fournir la meilleure combinaison possible de réactivité, de représentation et de préservation claire des points importants de chaque tranche de temps.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.

Fonctionnement du nouvel algorithme d’échantillonnage de ligneHow the new line sampling algorithm works

Le nouvel algorithme d’échantillonnage de ligne à haute densité est disponible pour générer des visuels de graphique en courbes et en aires avec un axe X continu.The new algorithm for high density line sampling is available for line chart and area chart visuals with a continuous x axis.

Pour un visuel à haute densité, Power BI découpe intelligemment vos données en segments haute résolution, puis sélectionne les points importants pour représenter chaque segment.For a high density visual, Power BI intelligently slices your data into high resolution chunks, and then picks important points to represent each chunk. Ce processus de segmentation de données haute résolution est spécialement réglé pour s’assurer que le graphique obtenu soit visuellement indiscernable du rendu de tous les points de données sous-jacents, mais qu’il soit généré beaucoup plus rapidement et soit plus interactif.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.

Valeurs minimales et maximales pour les visuels de ligne à haute densitéMinimum and maximum values for high density line visuals

Pour chaque visualisation, les limitations visuelles suivantes s’appliquent :For any given visualization, the following visual limitations apply:

  • 3 500 est le nombre maximal de points de données affichés sur le visuel, quel que soit le nombre de points de données ou de séries sous-jacentes.3,500 is the maximum number data points displayed on the visual, regardless of the number of underlying data points or series. Par conséquent, si vous avez 10 séries avec 350 points de données chacune, le visuel a atteint sa limite globale maximale de points de données.As such, if you have 10 series with 350 data points each, the visual has reached its maximum overall data points limit. Si vous avez une seule série, celle-ci peut comprendre jusqu’à 3 500 points de données si le nouvel algorithme estime qu’il s’agit de l’échantillonnage optimal pour les données sous-jacentes.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.
  • Le nombre maximal de séries pour un visuel est fixé à 60.There is a maximum of 60 series for any visual. Si vous avez plus de 60 séries, divisez les données et créez plusieurs visuels représentant chacun au maximum 60 séries.If you have more than 60 series, break up the data and create multiple visuals with 60 or less series each. Il est recommandé d’utiliser un slicer (segment) afin d’afficher uniquement des segments des données (seulement certaines séries).It's good practice to use a slicer to show only segments of the data (only certain series). Par exemple, si vous affichez toutes les sous-catégories dans la légende, vous pouvez utiliser un slicer afin de filtrer par catégorie générale sur la même page de rapport.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.

Ces paramètres garantissent que les visuels dans Power BI Desktop s’affichent très rapidement et réagissent aux interactions des utilisateurs, et qu’ils n’entraînent pas une surcharge de calcul excessive sur l’ordinateur affichant le visuel.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.

Évaluation des points de données représentatifs pour les visuels de ligne à haute densitéEvaluating representative data points for high density line visuals

Lorsque le nombre de points de données sous-jacents dépasse le nombre maximal de points de données qui peuvent être représentés dans le visuel (3 500), un processus appelé compartimentage démarre, qui découpe les données sous-jacentes en blocs nommés emplacements qu’il affine ensuite de manière itérative.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’algorithme crée le plus grand nombre possible d’emplacements afin d’offrir une granularité maximale pour le visuel.The algorithm creates as many bins as possible to create the greatest granularity for the visual. Dans chaque emplacement, l’algorithme détecte les valeurs de données minimale et maximale pour s’assurer que les valeurs importantes et significatives (par exemple, des valeurs hors norme) sont capturées et affichées dans le visuel.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. Selon les résultats du compartimentage et de l’évaluation ultérieure des données par Power BI, la résolution minimale de l’axe X du visuel est déterminée afin de garantir une granularité maximale de celui-ci.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.

Comme mentionné précédemment, la granularité minimale de chaque série est de 350 points, la granularité maximale de 3 500.As mentioned previously, the minimum granularity for each series is 350 points, the maximum is 3,500.

Chaque emplacement est représenté par deux points de données qui deviennent les points de données représentatifs de l’emplacement dans le visuel.Each bin is represented by two data points, which become the bin's representative data points in the visual. Les points de données sont simplement les valeurs haute et basse de cet emplacement et, en sélectionnant ces valeurs hautes et basses, le processus de compartimentage garantit qu’une valeur haute importante ou valeur basse significative est capturée et restituée dans le visuel.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 vous trouvez que cela ressemble beaucoup à une analyse visant à vérifier que les valeurs hors norme occasionnelles sont capturées et correctement affichées dans le visuel, vous avez raison. C’est précisément la raison d’être du nouvel algorithme et du processus de compartimentage.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.

Info-bulles et échantillonnage de ligne à haute densitéTooltips and high density line sampling

Il est important de noter que ce processus de compartimentage, qui entraîne la capture des valeurs minimale et maximale d’un emplacement donné et leur affichage dans le visuel, peut affecter la manière dont les info-bulles affichent les données lorsque vous pointez sur des points de données.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. Pour expliquer comment et pourquoi cela se produit, revenons à l’exemple des cotations évoqué plus haut dans cet article.To explain how and why this occurs, let’s revisit our example about stock prices from earlier in this article.

Supposons que vous créez un visuel basé sur une cotation et comparez deux cotations différentes, utilisant toutes deux un échantillonnage à haute 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. Les données sous-jacentes de chaque série comprennent un grand nombre de points de données (vous capturez peut-être la cotation à chaque seconde de la journée).The underlying data for each series has lots of data points (maybe you capture the stock price each second of the day). L’algorithme d’échantillonnage de ligne à haute densité effectue un compartimentage pour chaque série indépendamment de l’autre.The high density line sampling algorithm with perform binning for each series independently of the other.

À présent, supposons que la première cotation bondisse à 12 h 02, puis redescende rapidement dix secondes plus tard. Il s’agit là d’un point de données important.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. Lors du compartimentage pour cette cotation, la valeur haute enregistrée à 12 h 02 constitue un point de données représentatif pour cet emplacement.When binning occurs for that stock, the high at 12:02 will be a representative data point for that bin.

En revanche, pour la deuxième cotation, 12 h 02 ne correspond ni à une valeur haute, ni à une valeur basse dans l’emplacement incluant cette heure (les valeurs haute et basse pour l’emplacement incluant 12:02 ont peut-être été enregistrées trois minutes plus tard).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. Dans ce cas, une fois le graphique en courbes créé, lorsque vous positionnez le curseur sur 12 h 02, vous voyez dans l’info-bulle une valeur pour la première cotation (car celle-ci a bondi à 12 h 02 et cette valeur a été sélectionnée comme point de données haut de cet emplacement), mais vous ne voyez pas de valeur dans l’info-bulle à 12 h 02 pour la deuxième cotation.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. Cela est dû au fait que la deuxième cotation ne présente ni de valeur haute, ni de valeur basse pour l’emplacement incluant 12 h 02.That's because the second stock had neither a high, nor a low, for the bin that included 12:02. Il n’y a par conséquent aucune donnée à afficher pour la deuxième cotation à 12 h 02, de sorte qu’aucune donnée ne s’affiche dans l’info-bulle.So there's no data to show for the second stock at 12:02, and thus, no tooltip data is displayed.

Cette situation se produit souvent avec les info-bulles.This situation will happen frequently with tooltips. Les valeurs haute et basse d’un emplacement donné peuvent ne pas correspondre parfaitement avec les points de valeur d’axe X échelonnés de façon uniforme, de sorte que l’info-bulle n’affiche pas la valeur.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.

Comment activer un échantillonnage de ligne à haute densitéHow to turn on high density line sampling

Par défaut, le nouvel algorithme est activé.By default, the new algorithm is turned on. Pour modifier ce paramètre, accédez au volet Mise en forme, dans la carte Général. Dans la partie inférieure, vous pouvez voir un curseur bascule nommé Échantillonnage à haute 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. Pour désactiver celui-ci, faites-le glisser en position Désactivé.To turn it off, slide it to Off.

Considérations et limitationsConsiderations and limitations

Le nouvel algorithme d’échantillonnage de ligne à haute densité constitue une amélioration importante apportée à Power BI, mais il existe quelques considérations que vous devez connaître lorsque vous travaillez avec des données et valeurs à haute 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.

  • En raison de la granularité accrue et du processus de compartimentage, les info-bulles ne peuvent afficher une valeur que si les données représentatives sont alignées sur votre curseur.Because of increased granularity and the binning process, Tooltips may only show a value if the representative data is aligned with your cursor. Pour plus d’informations, consultez la section précédente de cet article consacrée aux info-bulles.See the section earlier in this article on Tooltips for more information.
  • Lorsque la taille d’une source de données globale est trop volumineuse, le nouvel algorithme élimine des séries (éléments de légende) pour respecter la contrainte d’importation maximale de données.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.

    • Dans ce cas, le nouvel algorithme trie les séries de légende par ordre alphabétique et démarre au bas de la liste des éléments de légende dans l’ordre alphabétique, jusqu’à ce que l’importation maximale de données soit atteinte, et n’importe pas de série supplémentaire.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.
  • Quand un jeu de données sous-jacent comprend plus de 60 séries (nombre maximal de séries, comme décrit précédemment), le nouvel algorithme trie les séries par ordre alphabétique et élimine les séries au-delà de la 60ème.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 les valeurs des données ne sont pas de type numérique ou date/heure, Power BI n’utilise pas le nouvel algorithme et revient à l’algorithme précédent (échantillonnage sans haute 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.
  • Le paramètre Afficher les éléments sans données n’est pas pris en charge par le nouvel algorithme.The Show items with no data setting is not supported with the new algorithm.
  • Le nouvel algorithme n’est pas pris en charge en cas d’utilisation d’une connexion active à un modèle hébergé dans SQL Server Analysis Services (version 2016 ou antérieure).The new algorithm is not supported when using a live connection to a model hosted in SQL Server Analysis Services (version 2016 or earlier). Il est pris en charge dans les modèles hébergés dans Power BI ou Azure Analysis Services.It is supported in models hosted in Power BI or Azure Analysis Services.

Étapes suivantesNext steps

Pour plus d’informations sur l’échantillonnage à haute densité dans des nuages de points, voir l’article suivant.For information about high density sampling in scatter charts, see the following article.