SQL Server Reporting Services (SSRS) 2016 представляет диаграмму дерева в качестве нового типа диаграммы. Однако многие пользователи задаются вопросом, можно ли превратить диаграмму дерева в тепловую карту, подобную Power BI Desktop.
Тепловая карта – это представление данных на графике, где отдельные значения представлены в виде цветов. Она может использоваться для визуализации данных различными способами, такими как матрица, таблица или географическая карта. Диаграммы дерева, которые были введены в SSRS 2016, обычно также включают функции тепловой карты.
В Power BI Desktop создание тепловой карты просто. Вам нужно только перетащить вторую меру в поле насыщенности цвета. Однако в SSRS нет простого способа установить насыщенность цвета в пользовательском интерфейсе, как в Power BI Desktop. Но не волнуйтесь, мы все равно можем создать тепловую карту в SSRS, используя немного кода на Visual Basic.
Сначала нам нужно добавить необходимый код в отчет. В свойствах отчета вы можете найти свойство Code, где вы можете ввести код. Код представляет собой функцию VB .NET под названием ColorDWB, которая возвращает разные оттенки цвета в зависимости от ее входных параметров. Эта функция именно то, что нам нужно для создания тепловой карты.
Затем нам нужно рассчитать значения, которые нужно передать функции ColorDWB. Мы можем сделать это в исходном запросе отчета. Используя оконную функцию NTILE, мы можем разделить данные на корзины и присвоить значение каждой корзине. Результат умножается на максимальное значение и делится на количество корзин, чтобы убедиться, что значение каждой корзины находится в желаемом диапазоне.
Наконец, мы можем создать выражение для свойства Fill Color серии, чтобы применить градиент цвета. Выражение имеет вид =Code.ColorDWB(Fields!ItemBucket.Value, Fields!MaxItems.Value, 1, “#fd625e”). Это будет возвращать разные оттенки цвета в зависимости от значения текущей меры.
Следуя этим шагам, мы можем успешно преобразовать диаграмму дерева в тепловую карту в SSRS. Однако важно отметить, что в настоящее время нет легенды, которая описывает разные оттенки цвета и их отношение к мере.
Создание тепловой карты с несколькими группами серий также возможно в SSRS. Добавив группу серий в диаграмму дерева и используя палитру цветов, мы можем назначить разные цвета каждой группе серий. Это можно сделать с помощью функции GetColor, которая отображает значения в цвета в хэш-таблице.
В заключение, создание тепловой карты в SSRS возможно с использованием кода на Visual Basic. Хотя есть некоторые ограничения, такие как отсутствие легенды, результат гибкий и эффективно визуализирует данные в цветовом кодировании.