具有动态数据类型的 SSRS 报表字段
SSRS Report Field with a Dynamic Data Type
我正在将多个手动报告合并为一个 SSRS,方法是更改 select 语句以遵循以下格式:
select
'DepartmentName'
,'StatName'
,'DataType' --(Int, percentage,date,time, etc)
,'Stat'
from TablesNeeded
现在这个联合很好,所以我最终得到了一个统计名称及其值的列表。在此之后,我想让显示 "Stat" 的单元格根据 "DataType"
的结果更改其格式
我试图使用 IIF 来确定格式,它使用单个 IIF 语句来表现,但是在嵌套以适应不同的数据类型之后,它似乎 "false" 每个 IIF 结果和 return 只是default/value:
工作
=iif(
Fields!DataType.Value="Percentage"
,Format(Fields!Stat.Value,"0%")
,Fields!Stat.Value
)
"Falsing"
=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 "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")
)
我问过一位同事,我们都被难住了。对正确的表达格式有什么想法吗?
假设您所有的数据类型都是正确的,那么您只需要在单元格的 Format
属性 中使用 switch 语句的简化版本即可。
有点像..
=SWITCH(
Fields!DataType.Value="Percentage","0%"
,Fields!DataType.Value="int","#,#0"
,Fields!DataType.Value="Date","y")
)
注意您可以只使用 "p0" 作为百分比类型,"n0" 作为整数。
我正在将多个手动报告合并为一个 SSRS,方法是更改 select 语句以遵循以下格式:
select
'DepartmentName'
,'StatName'
,'DataType' --(Int, percentage,date,time, etc)
,'Stat'
from TablesNeeded
现在这个联合很好,所以我最终得到了一个统计名称及其值的列表。在此之后,我想让显示 "Stat" 的单元格根据 "DataType"
的结果更改其格式我试图使用 IIF 来确定格式,它使用单个 IIF 语句来表现,但是在嵌套以适应不同的数据类型之后,它似乎 "false" 每个 IIF 结果和 return 只是default/value:
工作
=iif(
Fields!DataType.Value="Percentage"
,Format(Fields!Stat.Value,"0%")
,Fields!Stat.Value
)
"Falsing"
=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 "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")
)
我问过一位同事,我们都被难住了。对正确的表达格式有什么想法吗?
假设您所有的数据类型都是正确的,那么您只需要在单元格的 Format
属性 中使用 switch 语句的简化版本即可。
有点像..
=SWITCH(
Fields!DataType.Value="Percentage","0%"
,Fields!DataType.Value="int","#,#0"
,Fields!DataType.Value="Date","y")
)
注意您可以只使用 "p0" 作为百分比类型,"n0" 作为整数。