У меня есть перекрестная таблица, в которой есть столбцы строк, указывающие на разные классы, а затем имена людей сверху.
| | Required | Person 1 | Person 2 | Person 3 |
| Class 1 | 8 6 | 1 6 | 3 6 | 4 6 |
| Class 2 | 6 2 | 3 2 | 2 2 | 1 2 |
Каждое поле содержит 2 значения. Первое значение — количество часов, проведенных в классе, второе поле — количество часов, необходимых для сертификации.
Обязательное поле идентифицирует мой общий итог.
В эксперте кросс-таблицы поля определяются следующим образом.
Строки:
Command.descr -> поле, содержащее имена классов
Столбцы:
Command.fullname -> поле, содержащее полные имена учеников
Сводные поля:
Сумма Command.evlength -> сумма всего времени, проведенного на заданном курсе
Макс. @required -> эта формула возвращает количество необходимых часов на основе названия курса
Я пытаюсь выделить поле Sum of Command.evlength, если оно больше или равно значению Max of @required.
Моим решением было выполнить фоновое форматирование. Щелкните правой кнопкой мыши поле Sum of Command.evlength и выберите Формат поля. Перейдите на вкладку «Границы», установите флажок «Фон» и введите формулу.
Формула, которую я использовал:
if CurrentFieldValue >= {@required} then color(152, 251, 152) else crNoColor
Это не правильная формула. Моя перекрестная таблица была помещена в нижний колонтитул, из-за чего {@required} содержит последнее значение в сетке, которое в приведенном выше примере равно 2.
Из моего исследования я подумал, что мне придется использовать GridRowColumnValue(имя строки или столбца) для доступа к значению {@required} в кросс-таблице, но я не смог найти правильную строку для его представления.
У кого-нибудь есть способ правильно выполнить это сравнение?