Reporting services 具有动态数据类型的SSRS报告字段
我正在将几个手动报告合并为一个SSRS-one,方法是将select语句更改为以下格式:Reporting services 具有动态数据类型的SSRS报告字段,reporting-services,ssrs-2012,Reporting Services,Ssrs 2012,我正在将几个手动报告合并为一个SSRS-one,方法是将select语句更改为以下格式: select 'DepartmentName' ,'StatName' ,'DataType' --(Int, percentage,date,time, etc) ,'Stat' from TablesNeeded 现在这个联合很好,所以我得到了一个统计名称及其值的列表。在此之后,我想让显示Stat的单元格根据数据类型的结果更改其格式 我尝试使用IIF来确定格式,该格式使用单个IIF语句,但
select
'DepartmentName'
,'StatName'
,'DataType' --(Int, percentage,date,time, etc)
,'Stat'
from TablesNeeded
现在这个联合很好,所以我得到了一个统计名称及其值的列表。在此之后,我想让显示Stat的单元格根据数据类型的结果更改其格式
我尝试使用IIF来确定格式,该格式使用单个IIF语句,但是在嵌套以容纳不同的数据类型后,似乎会使每个IIF结果都为假,并仅返回默认值/值:
工作
=iif(
Fields!DataType.Value="Percentage"
,Format(Fields!Stat.Value,"0%")
,Fields!Stat.Value
)
发抖
=iif(
Fields!DataType.Value="Percentage"
,Format(Fields!Stat.Value,"0%")
,iif(
Fields!DataType.Value="Date"
,Format(Fields!Stat.Value,"y")
,iif(
Fields!DataType.Value="int"
,Fields!Stat.Value
,Fields!Stat.Value
)))
同样地使用开关也是错误的
=Switch(
Fields!DataType.Value="Percentage",Format(Fields!Stat.Value,"0%")
,Fields!DataType.Value="int",Format(Fields!Stat.Value,"#,#0")
,Fields!DataType.Value="Date",Format(Fields!Stat.Value,"y")
)
我问了一位同事,我们都被难住了。关于正确的表达式格式有什么想法吗?假设所有数据类型都是正确的,那么您只需要在单元格的Format属性中使用switch语句的简化版本 类似于
=SWITCH(
Fields!DataType.Value="Percentage","0%"
,Fields!DataType.Value="int","#,#0"
,Fields!DataType.Value="Date","y")
)
注意,你可以用p0表示你的百分比类型,用n0表示你的整数。刚刚意识到,也许,经过尝试,它成功了!这就是我自己,我来这里是为了结束这个问题。先生,你说得对!