Выборка линий с высокой плотностью в Power BIHigh density line sampling in Power BI

Начиная с выпуска Power BI Desktop за июнь 2017 года и обновлений службы Power BI доступен новый алгоритм выборки, который улучшает визуальные элементы, использующие выборку данных высокой плотности.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. Например, можно создать график результатов продаж розничных магазинов, выписывающих более десяти тысяч товарных чеков ежегодно.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. Для графика таких сведений о продажах выполняется выборка (выбор информативного представления данных, чтобы показать, как изменяются продажи со временем) из данных для каждого магазина, что позволяет создать смешанный график, который представляет базовые данные.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 the underlying data. Это распространенный подход к визуализации данных с высокой плотностью.This is common practice in visualizing high-density data. В Power BI Desktop улучшена выборка данных с высокой плотностью. Этому и посвящена статья.Power BI Desktop has improved its sampling of high-density data, the details of which are described in this article.

Примечание

Алгоритм выборки с высокой плотностью, описанный в этой статье, доступен в Power BI Desktop и службе Power BI.The High Density Sampling algorithm described in this article is available in both Power BI Desktop and the Power BI service.

Как действует выборка линий с высокой плотностьюHow high density line sampling works

Ранее в Power BI детерминированным образом отбирался набор выборочных точек данных на полном диапазоне базовых данных.Previously, Power BI selected a collection of sample data points in the full range of underlying data in a deterministic fashion. Например, для данных высокой плотности визуального элемента за один календарный год может отображаться 350 выборочных точек данных, которые были выбраны, чтобы в визуальном элементе был представлен полный диапазон данных (весь ряд базовых данных).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. Чтобы понять, как это происходит, представьте построение графика цены акций за год, для чего выбираются 365 точек данных (по одной точке данных на день).To help understand how this happens, imagine plotting a stock price over a one-year period,and selecting 365 data points to create a line chart visual (that's one data point for each day).

В этом случае существует много значений цены акций за каждый день.In that situation, there are many values for a stock price within each day. Разумеется, имеются максимальная и минимальная цена за каждый день, но они могут возникнуть в любое время в течение дня, когда открыта фондовая биржа.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. При выборке линий с высокой плотностью если исходная выборка данных выполнялась в 10:30 и 12:00 каждый день, то вы получите репрезентативный моментальный снимок базовых данных (цены на 10:30 и 12:00), но он может не содержать фактическую максимальную и минимальную цену акций для этой репрезентативной точки данных (за этот день).For high-density line sampling, if the underlying data sample was taken at 10:30 AM and 12:00 PM each day, you would get a representative snapshot of the underlying data (the price at 10:30 AM and 12:00 PM), but it might not capture the actual high and low of the stock price for that representative data point (that day). В подобных ситуациях выборка содержит репрезентативный набор базовых данных, но он не всегда включает в себя важные точки. В приведенном примере это ежедневная максимальная и минимальная цена акций.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.

По определению выборка данных с высокой плотностью применяется для достаточно быстрого создания интерактивных визуализаций.By definition, high-density data is sampled to create visualizations reasonably quickly that are responsive to interactivity. Слишком большое число точек данных в визуальном элементе может затормозить его работу и помешать отображению тенденций.Too many data points on a visual can bog it down, and can detract from the visibility of trends. Способ выбора данных определяет алгоритм выборки. Он отвечает за оптимальную визуализацию.So, how the data is sampled is what drives the creation of the sampling algorithm to provide the best visualization experience. Алгоритм в Power BI Desktop усовершенствован, чтобы обеспечить наилучшее сочетание времени отклика, представления и гарантированного сохранения важных точек в каждом временном срезе.In Power BI Desktop, the algorithm is now improved to provide the best combination of responsiveness, representation, and clear preservation of important points in each time slice.

Как действует новый алгоритм выборки строкHow the new line sampling algorithm works

Новый алгоритм выборки строк с высокой плотностью доступен для графиков и диаграмм с областями с непрерывной осью X.The new algorithm for high-density line sampling is available for line chart and area chart visuals with a continuous x-axis.

Для визуального элемента с высокой плотностью Power BI интеллектуально разделяет данные на блоки с высокой дискретизацией, а затем выбирает важные точки для представления каждого блока.For a high-density visual, Power BI intelligently slices your data into high resolution chunks, and then picks important points to represent each chunk. Этот процесс создания срезов данных с высокой дискретизацией специально настроен так, чтобы полученная диаграмма внешне не отличалась от диаграммы, содержащей все базовые точки данных, но была намного быстрее и интерактивнее.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.

Минимальное и максимальное значения для визуальных элементов с высокой плотностью линийMinimum and maximum values for high density line visuals

Для любого визуального элемента действуют следующие ограничения.For any given visualization, the following visual limitations apply:

  • Визуальный элемент может отображать не более 3500 точек данных, вне зависимости от количества базовых точек данных или рядов.3,500 is the maximum number of data points displayed on the visual, regardless of the number of underlying data points or series. То есть, если у вас имеется 10 рядов по 350 точек данных, визуальный элемент достигнет общего предела точек данных.As such, if you have 10 series with 350 data points each, the visual has reached its maximum overall data points limit. Если имеется один ряд, то он может содержать до 3500 точек данных, если новый алгоритм определит, что это лучшая выборка для базовых данных.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.
  • Для любого визуального элемента можно использовать не более 60 рядов.There is a maximum of 60 series for any visual. При наличии более 60 рядов следует разбить данные и создать несколько визуальных элементов, содержащих по 60 или менее рядов.If you have more than 60 series, break up the data and create multiple visuals with 60 or fewer series each. Рекомендуется использовать срез, чтобы отображать только сегменты данных (только определенные ряды).It's good practice to use a slicer to show only segments of the data (only certain series). Например, если вы отображаете все подкатегории в условных обозначениях, можно использовать срез, чтобы отфильтровать данные по общей категории на той же странице отчета.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.

Благодаря этим параметрам визуальные элементы в Power BI Desktop отображаются очень быстро, реагируют на действия пользователей и не потребляют слишком много вычислительных ресурсов компьютера, на котором отрисовывается визуальный элемент.These parameters ensure that visuals in Power BI Desktop render very quickly, are responsive to interaction with users, and do not result in undue computational overhead on the computer rendering the visual.

Оценка репрезентативных точек данных для визуальных элементов с высокой плотностью линийEvaluating representative data points for high density line visuals

Когда число базовых точек данных превышает максимально допустимое число точек данных для визуального элемента (3500), начинается так называемый процесс группирования. Базовые данные разделяются на группы (ячейки), которые затем итеративно детализируются.When the number of underlying data points exceeds the maximum 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.

Алгоритм создает столько ячеек, сколько возможно, чтобы обеспечить наивысшую степень детализации визуального элемента.The algorithm creates as many bins as possible to create the greatest granularity for the 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. На основе результатов группирования и последующей оценки данных в Power BI определяется минимальное разрешение оси X для визуального элемента, чтобы обеспечить для него максимальную степень детализации.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.

Как упоминалось ранее, минимальная степень детализации для каждого ряда составляет 350 точек, а максимальная — 3500 точек.As mentioned previously, the minimum granularity for each series is 350 points, the maximum is 3,500.

Каждая ячейка представляется двумя точками данных, которые стали ее репрезентативными точками данных в визуальном элементе.Each bin is represented by two data points, which become the bin's representative data points in the 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.

Если вам показалось, что для записи случайных выбросов и их отображения на визуальном элементе требуется тщательный анализ, то вы совершенно правы. И именно поэтому был разработан новый алгоритм и процесс группирования.If that sounds like a lot of analysis to ensure the occasional outlier is captured and properly displayed in the visual, you are correct, but that’s the exact reason for the new algorithm and binning process.

Подсказки и выборка линий с высокой плотностьюTooltips and high density line sampling

Важно отметить, что процесс группирования, который позволяет записать минимальное и максимальное значения в заданной ячейке и отобразить их, может повлиять на отображение подсказок для данных при наведении указателя на точки данных.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, may affect how tooltips display data when you hover over the data points. Чтобы объяснить, как и почему это происходит, давайте вернемся к нашему примеру с ценами акций.To explain how and why this occurs, let’s revisit our example about stock prices.

Предположим, что вы создаете визуальный элемент на основе цены акций и сравниваете две различные акции, для которых используется выборка с высокой плотностью.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. Базовые данные для каждого ряда содержат большое количество точек данных (например, вы могли записывать цены акций за каждую секунду).The underlying data for each series has lots of data points (maybe you capture the stock price each second of the day). Алгоритм выборки линий с высокой плотностью позволяет независимо выполнять группирование каждого ряда.The high-density line sampling algorithm performs binning for each series independently of the other.

Теперь предположим, что цена первой акции повышается в 12:02, а через десять секунд снова падает.Now let's say that the first stock jumps up in price at 12:02, then quickly comes back down ten seconds later. Это важная точка данных.That’s an important data point. При группировании данных этой акции максимальная цена в 12:02 станет репрезентативной точкой данных для этой ячейки.When binning occurs for that stock, the high at 12:02 will be a representative data point for that bin.

Но цена второй акции в 12:02 не была ни максимальной, ни минимальной в ячейке, включающей в себя это время.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. В этом случае при наведении указателя мыши на 12:02 в созданном графике отобразится подсказка со значением для первой акции (так как ее цена повысилась в 12:02 и это значение было выбрано в качестве максимальной точки данных ячейки), на вы не увидите в этой подсказке значение для второй акции в 12:02.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. Причина этого состоит в том, что в 12:02 цена второй акции не была ни максимальной, ни минимальной для данной ячейки.That's because the second stock had neither a high, nor a low, for the bin that included 12:02. Поэтому данных на 12:02 для второй акции нет, и подсказка не содержит какую-либо информацию о ней.So, there's no data to show for the second stock at 12:02, and thus, no tooltip data is displayed.

Это будет часто происходить с подсказками.This situation will happen frequently with tooltips. Максимальное и минимальное значения в заданной ячейке могут не точно соответствовать точкам значений на равномерной оси x, поэтому подсказка может не отображать значение.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.

Как включить выборку линий с высокой плотностьюHow to turn on high density line sampling

По умолчанию новый алгоритм включен.By default, the new algorithm is turned on. Чтобы изменить это, перейдите в область Форматирование, выберите карту Общие. Внизу вы увидите переключатель Выборка с высокой плотностью.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. Чтобы отключить алгоритм, переключите его в положение Выключено.To turn it off, slide it to Off.

Рекомендации и ограниченияConsiderations and limitations

Новый алгоритм выборки линий с высокой плотностью является важным улучшением Power BI. Но вам следует знать о некоторых особенностях работы с данными и значениями высокой плотности.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.

  • Из-за повышенной степени детализации и процесса группирования подсказки могут содержать значение, только если указатель мыши наведен на репрезентативные данные.Because of increased granularity and the binning process, Tooltips may only show a value if the representative data is aligned with your cursor. Дополнительные сведения см. в разделе Подсказки и выборка линий с высокой плотностью этой статьи.See the Tooltips and high density line sampling section in this article for more information.

  • Если общий размер источника данных слишком велик, новый алгоритм устраняет ряды (элементы условных обозначений) в соответствии с ограничением размера импортируемых данных.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 this situation, the new algorithm orders legend series alphabetically, starts down the list of legend elements in alphabetical order until the data import maximum is reached, and does not import additional series.
  • Если базовый набор данных содержит более 60 рядов (максимальное количество рядов, как описано выше), то новый алгоритм упорядочивает ряды по алфавиту и устраняет ряды, следующие после 60-го ряда в этом списке.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.

  • Если данные содержат значения, не являющиеся числовыми или значениями даты и времени, то Power BI не будет использовать новый алгоритм и применит предыдущий алгоритм (без выборки с высокой плотностью).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.

  • Параметр Показать элементы без данных не используется для нового алгоритма.The Show items with no data setting is not supported with the new algorithm.

  • Новый алгоритм не поддерживается при использовании активного подключения к модели, размещенной в SQL Server Analysis Services 2016 (или более ранней версии).The new algorithm is not supported when using a live connection to a model hosted in SQL Server Analysis Services (version 2016 or earlier). Он поддерживается для моделей, размещенных в Power BI или Azure Analysis Services.It is supported in models hosted in Power BI or Azure Analysis Services.

Дальнейшие действияNext steps

Дополнительные сведения о выборке с высокой плотностью на точечных диаграммах см. в следующей статье.For information about high-density sampling in scatter charts, see the following article.