Линейная диаграмма SSRS — одна линия, определяемая параметром (подмножеством), одна линия — общее среднее значение (независимо от параметра).

Я новичок в отчетах SSRS 2008R2, так что это может быть или не просто, хотя это должно быть очень просто. Вот таблица того, как мои данные выглядят в конструкторе запросов:

введите здесь описание изображения

Вы можете видеть, что Provider.ProviderName (столбец Pro... на картинке) является параметром, а также начальным и конечным месяцами. Добавить линию на линейную диаграмму, отражающую значение «Не показать» для поставщика, выбранного в раскрывающемся меню для отчета, несложно (каждый месяц — это одна точка данных, обычно за 12 месяцев). Но я не могу понять, как добавить строку, которая показывает среднемесячное значение No Show Value для всех поставщиков за один и тот же выбранный период времени, независимо от того, какой поставщик выбран. Любые идеи?


person user1260251    schedule 15.05.2014    source источник


Ответы (1)


Я бы оставил определение параметра Provider в SSRS, но отсоединил бы его от этого набора данных, чтобы он возвращал результаты для всех Providers.

Затем в существующую запись «Значения» (представляющую выбранного поставщика) я бы добавил функцию Iif, чтобы ничего не возвращать, если только поле поставщика набора данных не соответствует поставщику параметров.

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

person Mike Honey    schedule 16.05.2014
comment
ХОРОШО. Я пробовал =iif(Fields!Provider_Name=Parameters!ProviderProviderName.Value,Sum(Fields!No_Show_Value),0) в поле значения свойств серии, и это дает ошибку. (Я знаю, что 0 должен быть нулевым, но я тоже не мог это закодировать). - person user1260251; 16.05.2014
comment
Ошибка гласит: выражение Y для диаграммы содержит ошибку: оператор «=» не определен для типов «Microsoft.ReportingServices.ReportProcessing.ReportObjectModel.Field» и «Object». Тем не менее, я получил среднюю линию, чтобы показать на графике. - person user1260251; 16.05.2014
comment
Попробуйте это: =Sum(iif(Fields!Provider_Name.Value = Parameters!ProviderProviderName.Value , Fields!No_Sh‌ow_Value, CDec(0)) - person Mike Honey; 19.05.2014
comment
Майк, большое спасибо за вашу помощь. Я смог использовать приведенную выше формулировку для отображения в таблице как общего среднего значения, так и значений отсутствия показа, специфичных для поставщика, поэтому я знаю, что это работает. Но по какой-то причине на линейном графике отображается только средняя линия значения отсутствия показа. Какое бы имя провайдера я ни пробовал, оно не отображается на графике, хотя в таблице он вычисляет его правильно. - person user1260251; 19.05.2014
comment
Возможно, это полезно: если у провайдера не было показов (провайдер был неактивен), то на графике появляется линия нулей для провайдера. - person user1260251; 19.05.2014
comment
Эта область становится сложной, когда ваши наборы данных являются SSAS/MDX. Parameters!ProviderProviderName.Value вернет ссылку MDX на выбранный элемент измерения. Я бы попробовал Trim ( Parameters!ProviderProviderName.Label ) вместо этого. - person Mike Honey; 20.05.2014
comment
Trim() не имеет значения в этом случае. Однако, когда я добавил CDec, все заработало! Окончательное выражение для Y было таким: =Sum(iif(Fields!Provider_Name.Value = Parameters!ProviderProviderName.Label, CDec(Fields!ID__No_Show.Value), CDec(0))). Я думаю, может быть, таблица отображала это как строку? Во всяком случае, это работает, и я получаю обе линии на графике. По сравнению с R это невероятно сложно и довольно запутанно. Большое спасибо за помощь - никогда бы не догадался. - person user1260251; 20.05.2014
comment
Да, я действительно отказался от интеграции SSRS с SSAS и избегаю этого везде, где это возможно. - person Mike Honey; 21.05.2014