Visual studio 2010 IIF在SSRS中的应用
我试图计算每个组的%值(逻辑为“A组调用/总调用”) 问题是,对于某些组,我需要使用(MAX(Fields!OverallCalls.Value),而对于其他组,我需要使用(MAX(Fields!TotalCalls.Value)。出于这个原因,我在最底部添加了一个额外的IIF语句,但是,出于某种原因,我得到一个错误,它说:“公共函数的参数太多等于零(表达式为对象)”作为布尔值'Visual studio 2010 IIF在SSRS中的应用,visual-studio-2010,visual-studio-2012,reporting-services,ssrs-2008,ssrs-2012,Visual Studio 2010,Visual Studio 2012,Reporting Services,Ssrs 2008,Ssrs 2012,我试图计算每个组的%值(逻辑为“A组调用/总调用”) 问题是,对于某些组,我需要使用(MAX(Fields!OverallCalls.Value),而对于其他组,我需要使用(MAX(Fields!TotalCalls.Value)。出于这个原因,我在最底部添加了一个额外的IIF语句,但是,出于某种原因,我得到一个错误,它说:“公共函数的参数太多等于零(表达式为对象)”作为布尔值' =FORMATPERCENT( Sum( IIF(Fields!Group.Value = "Diss
=FORMATPERCENT(
Sum(
IIF(Fields!Group.Value = "Dissatisfactions Total",
Fields!TotalDissatisfactions.Value,
IIF(Fields!Group.Value = "RID Total",
Fields!TotalRidDissatisfactions.Value,
IIF(
Fields!Group.Value = "CRT" OR
Fields!Group.Value = "Escalations"
,Fields!ComplaintID.Value
,IIF(
Fields!Group.Value = "Calls"
,Fields!Calls.Value
,0
)
)
)
)
) / IIF(IsNothing(MAX(Fields!OverallCalls.Value), (MAX(Fields!TotalCalls.Value), (MAX(Fields!OverallCalls.Value)
)
有缺少括号的错误 请尝试以下代码
=FORMATPERCENT(
Sum(
IIF(Fields!Group.Value = "Dissatisfactions Total",
Fields!TotalDissatisfactions.Value,
IIF(Fields!Group.Value = "RID Total",
Fields!TotalRidDissatisfactions.Value,
IIF(
Fields!Group.Value = "CRT" OR Fields!Group.Value = "Escalations",
Fields!ComplaintID.Value,
IIF(
Fields!Group.Value = "Calls",
Fields!Calls.Value,
0
)
)
)
)
)
/
IIF(IsNothing(MAX(Fields!OverallCalls.Value)),
MAX(Fields!TotalCalls.Value),
MAX(Fields!OverallCalls.Value)
)
)
=FORMATPERCENT(
Sum(
Switch (
Fields!Group.Value = "Dissatisfactions Total", Fields!TotalDissatisfactions.Value,
Fields!Group.Value = "RID Total", Fields!TotalRidDissatisfactions.Value,
Fields!Group.Value = "CRT" OR Fields!Group.Value = "Escalations", Fields!ComplaintID.Value,
Fields!Group.Value = "Calls", Fields!Calls.Value,
True, 0
)
/
IIF(IsNothing(MAX(Fields!OverallCalls.Value)),
MAX(Fields!TotalCalls.Value),
MAX(Fields!OverallCalls.Value)
)
)
另外,为了更好的可读性,当您有许多嵌套的Iif语句时,我建议使用如下代码中的switch
=FORMATPERCENT(
Sum(
IIF(Fields!Group.Value = "Dissatisfactions Total",
Fields!TotalDissatisfactions.Value,
IIF(Fields!Group.Value = "RID Total",
Fields!TotalRidDissatisfactions.Value,
IIF(
Fields!Group.Value = "CRT" OR Fields!Group.Value = "Escalations",
Fields!ComplaintID.Value,
IIF(
Fields!Group.Value = "Calls",
Fields!Calls.Value,
0
)
)
)
)
)
/
IIF(IsNothing(MAX(Fields!OverallCalls.Value)),
MAX(Fields!TotalCalls.Value),
MAX(Fields!OverallCalls.Value)
)
)
=FORMATPERCENT(
Sum(
Switch (
Fields!Group.Value = "Dissatisfactions Total", Fields!TotalDissatisfactions.Value,
Fields!Group.Value = "RID Total", Fields!TotalRidDissatisfactions.Value,
Fields!Group.Value = "CRT" OR Fields!Group.Value = "Escalations", Fields!ComplaintID.Value,
Fields!Group.Value = "Calls", Fields!Calls.Value,
True, 0
)
/
IIF(IsNothing(MAX(Fields!OverallCalls.Value)),
MAX(Fields!TotalCalls.Value),
MAX(Fields!OverallCalls.Value)
)
)