Я пытаюсь динамически форматировать метки на своих диаграммах SSRS на основе базового значения. Я пытаюсь сделать это в двух сценариях: один для форматирования дат как порядковых чисел, а другой - для выбора подходящего количества десятичных знаков на основе имеющихся фактических значений. Однако, когда я использую редактор выражений с выражением вроде этого ...
=IIF(MAX(ABS(Fields![axisfield].Value))<2, "0.0%","0%")
... Fields! [axisfield] .Value всегда возвращает первое значение из набора данных, то есть в этом примере, если первое значение меньше двух, метки будут отформатированы с одним десятичный разряд, даже если он единственный меньше двух. (Так что функция «MAX» по сути не имеет значения.)
В этом примере предпринимается попытка установить общее форматирование на основе самой большой точки данных в серии, в следующем я пытаюсь отформатировать каждую метку отдельно, чтобы получить порядковые даты (т.е. 1-я, 2-я и т. Д., И да, эта формула неполный: не обязательно, чтобы проиллюстрировать проблему):
="dd"+IIF(DatePart("d", Fields!date.Value)=1,"\s\t"
,IIF(DatePart("d", Fields!date.Value)=2,"\n\d"
,IIF(DatePart("d", Fields!date.Value)=3,"\r\d"
,"\t\h")))
Это даст 1-е, 2-е, 3-е и так далее, поскольку первая строка в наборе данных предназначена для первой.
Итак, мой вопрос: как мне обойти это и в первом примере получить истинный максимум, а во второй ссылке - фактическое форматируемое значение?
Спасибо!