我将几个手动报告合并为一个SSRS,通过更改select语句遵循以下设置格式:
select
'DepartmentName'
,'StatName'
,'DataType' --(Int, percentage,date,time, etc)
,'Stat'
from TablesNeeded
现在这个工会很好,所以我最终得到了一个统计名称及其值的列表。在此之后,我希望单元格显示“Stat”以根据“DataType”的结果更改其格式
我尝试使用IIF来确定格式,该格式表现为单个IIF语句,但是在嵌套以容纳不同的数据taypes之后,每个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
)))
并且使用开关同样也是“Falsed”
=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")
)
我问了一位同事,我们都很难过。有关正确表达格式的任何想法吗?
答案 0 :(得分:1)
假设您的所有数据类型都正确,那么您只需要在单元格的Format
属性中使用switch语句的简化版本。
像...这样的东西。
=SWITCH(
Fields!DataType.Value="Percentage","0%"
,Fields!DataType.Value="int","#,#0"
,Fields!DataType.Value="Date","y")
)
注意你可以使用" p0"对于你的百分比类型," n0"为你的int。