изменить цвет наибольшего общего значения столбца в отчете rdl - PullRequest
0 голосов
/ 22 апреля 2020

how to highlighte highest number of a total column

В отчете rdl я показываю итоговый столбец в виде суммирования, я хочу выделить самый высокий из этой суммы.

1 Ответ

0 голосов
/ 22 апреля 2020

Это общий c ответ, который делает много предположений. Поскольку ваш вопрос не содержит достаточно информации для однозначного ответа, но, надеюсь, этого будет достаточно для решения вашей проблемы.

Чтобы воссоздать это, выполните следующие действия (а затем адаптируйтесь в соответствии с вашей конкретной c ситуацией)

Создать новый отчет.

Добавить набор данных и использовать следующий запрос в качестве запроса к набору данных

-- create some sample data
DECLARE @t TABLE(Customer varchar(10), Product varchar(10), Quantity int)
INSERT INTO @t VALUES 
('Dave', 'Hammer', 6), ('Dave', 'Saw', 6),('Dave', 'Hammer', 1),
('George', 'Drill', 3),('George', 'Hammer', 6),('George', 'Saw', 6),('George', 'Hammer', 1),
('Mary', 'Drill', 3),('Mary', 'Hammer', 6),
('Jane', 'Saw', 6),('Jane', 'Hammer', 1),('Jane', 'Drill', 3)

-- return the sample data plus a total per customer
SELECT *
        , CustomerTotal = SUM(Quantity) OVER(PARTITION BY Customer)
    FROM @t

Это дает следующие результаты

enter image description here

Затем добавьте элемент Matrix в отчет. Перетащите поля в матрицу, как показано здесь enter image description here

Customer в «Rows»; Товар до «Колонны»; Количество в «Данные»

Теперь у вас должна быть матрица с несколькими группами строк и столбцов, показанными внизу. Затем нам нужно добавить столбец итогов, поэтому щелкните правой кнопкой мыши группу столбцов «Продукт» и выберите «Добавить итог => После»

enter image description here

Наконец, мы необходимо проверить, соответствует ли значение в столбце итогов наибольшему значению CustomerTotal в нашем наборе данных. Если оно совпадает, измените свойство textbox color на «Red».

Мы можем использовать это выражение в текстовом поле color, чтобы сделать это ..

=IIF(
    Sum(Fields!Quantity.Value) = MAX(Fields!CustomerTotal.Value, "DataSet1"), 
    "Red",
    "Black")

Для этого нужно взять общее количество в текущей области (всю строку) и сравнить это самый высокий CustomerTotal с областью "Dataset1", который является полным набором данных. Если они совпадают, установите vlue на «Red», в противном случае установите его на «Black»

. С некоторой прибавкой окончательный результат будет выглядеть следующим образом.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...