Форматирование является важным аспектом создания наглядных и легко читаемых отчетов. В этой статье мы рассмотрим, как изменить форматирование ячеек в табличном или матричном представлении в SQL Server Reporting Services (SSRS) на основе их значений или других критериев. Эта функциональность аналогична тому, с чем вы уже можете быть знакомы в Microsoft Excel.
Давайте начнем с шаблона по умолчанию, который SSRS использует в Visual Studio 2017. Представление дизайна отчета может выглядеть довольно просто, с серыми заголовками и горизонтальными линиями в табличном представлении. Однако мы можем улучшить визуальное воздействие и улучшить интерпретацию данных, применяя условное форматирование.
Например, предположим, что мы хотим изменить форматирование столбца “Transaction Value”, чтобы текст отображался красным цветом, когда значение отрицательное. В представлении дизайна Visual Studio щелкните правой кнопкой мыши на ячейке, содержащей значение “[TransactionValue]”, и выберите “Свойства текстового поля”. В разделе “Шрифт” нажмите кнопку “fx” рядом с выпадающим меню “Цвет”.
Это откроет окно выражений, где мы можем определить наше условное форматирование. Нам нужно указать цвета как для отрицательных, так и для неотрицательных значений. Мы можем использовать язык выражений SSRS, который похож на выражения VB, чтобы достичь этого. Вот пример выражения:
=IIf(Fields!TransactionValue.Value < 0, "Red", "#333333")
В этом выражении мы используем функцию “IIf” для проверки, является ли Transaction Value меньше 0. Если да, мы устанавливаем цвет шрифта “Red”; в противном случае мы используем цвет по умолчанию “#333333”. Вы также можете использовать названия цветов или шестнадцатеричные коды в выражении.
После того, как вы определили выражение и выбрали цвета, нажмите ОК, чтобы применить условное форматирование. Затем вы можете предварительно просмотреть отчет, чтобы увидеть изменения.
Теперь давайте рассмотрим, как сравнивать столбцы и применять условное форматирование на основе значений в этих столбцах. Например, предположим, что мы хотим окрасить шрифт в столбце “Total Paid” в зеленый цвет, когда он совпадает со значением “Transaction Value”, в янтарный цвет, когда он частично оплачен, и в красный во всех остальных случаях.
Для достижения этого мы можем использовать вложенные функции “IIf” в выражении для настройки цвета шрифта текстового поля. Вот пример выражения:
=IIf(Fields!TransactionValue.Value = Fields!TotalPaid.Value, "ForestGreen", IIf(Fields!TotalPaid.Value > 0, "Orange", "Red"))
В этом выражении мы сначала сравниваем Transaction Value с Total Paid. Если они равны, мы устанавливаем цвет шрифта “ForestGreen”. Если нет, мы проверяем, больше ли значение Total Paid нуля, и устанавливаем цвет шрифта “Orange”. Если оба условия ложные, мы устанавливаем цвет шрифта “Red”.
Опять же, вы можете предварительно просмотреть отчет, чтобы увидеть условное форматирование в действии.
Вы можете настраивать не только цвет шрифта в SSRS. Почти любое свойство можно изменить с помощью выражений. Например, вы можете сделать строки с сегодняшней датой в столбце “Effective Date” жирными. Для этого выберите все ячейки в строке, нажмите F4, чтобы открыть панель свойств, и найдите опцию “Font Weight”. Нажмите выпадающее меню и выберите “<выражение…>”.
В поле выражения вы можете сравнить значение поля “EffectiveDate” с текущей датой, используя функцию “Today()”. Вот пример выражения:
=IIf(Fields!EffectiveDate.Value = Today(), "Bold", "Normal")
Это выражение устанавливает жирное начертание, если Effective Date равна сегодняшней дате; в противном случае оно устанавливает его в “Normal”.
Помните, что вы можете настраивать ячейки различными способами, включая изменение цвета фона, форматирование текста и выравнивание ячеек. Выражения SSRS предлагают широкий спектр функций, чтобы помочь вам достичь нужного форматирования.
Для сложных выражений, которые могут быть сложными для вычисления в SSRS, вы также можете использовать T-SQL для помощи. Например, вы можете добавить столбец в свой набор данных, который возвращает разные цвета на основе определенных условий. Затем вы можете использовать значение этого столбца в выражении SSRS.
С этими настройками вы можете создавать наглядные и информативные отчеты, которые эффективно передают ваши данные.
Не забывайте экспериментировать и исследовать различные варианты форматирования, доступные в SSRS. Удачного отчета!