OverAccrual.rdl
====================
2007-2-27日修改
IIF的逻辑与用and,条件内表达式用到的双引号"必须用"
在Reporting Server上传.rdl文件时,把网站的“地址”改成“全部未分配”,再把对应的网站域名设为空。把ReportServer权限匿名访问去掉。http://localhost/Reports访问管理页面;然后进行.rdl文件上传。
上传完成测试OK后,恢复所改的IIS操作。
<
Field
Name
="DMBTR3"
>
< Value > =IIF(( Fields!DMBTR.Value + Fields!DMBTR1.Value + Fields!DMBTR2.Value) > 0, ( Fields!DMBTR.Value + Fields!DMBTR1.Value + Fields!DMBTR2.Value), IIF( Parameters!FinAge.Value = 30, ( Fields!DMBTR.Value + Fields!DMBTR1.Value + Fields!DMBTR2.Value), IIF(( Parameters!FinAge.Value = 45) and ( Parameters!kunnr.Value = " 90008 " ), ( Fields!DMBTR.Value + Fields!DMBTR1.Value + Fields!DMBTR2.Value), 0)))
</ Value >
< Value > =IIF(( Fields!DMBTR.Value + Fields!DMBTR1.Value + Fields!DMBTR2.Value) > 0, ( Fields!DMBTR.Value + Fields!DMBTR1.Value + Fields!DMBTR2.Value), IIF( Parameters!FinAge.Value = 30, ( Fields!DMBTR.Value + Fields!DMBTR1.Value + Fields!DMBTR2.Value), IIF(( Parameters!FinAge.Value = 45) and ( Parameters!kunnr.Value = " 90008 " ), ( Fields!DMBTR.Value + Fields!DMBTR1.Value + Fields!DMBTR2.Value), 0)))
</ Value >
< Field Name ="DMBTR3" >
< Value > =IIF(( Fields!DMBTR.Value + Fields!DMBTR1.Value + Fields!DMBTR2.Value) ≶ 0, ( Fields!DMBTR.Value + Fields!DMBTR1.Value + Fields!DMBTR2.Value), IIF(Parameters!FinAge.Value = 30, ( Fields!DMBTR.Value + Fields!DMBTR1.Value + Fields!DMBTR2.Value), 0))
Value></Field>
IIF() 函数的说明
根据条件返回指定的值。语法
IIF( 逻辑表达式 , 表达式1 , 表达式2 )
返值类型
表达式1、2是什么类型就是什么类型.
参数描述
逻辑表达式 :如果此表达式为真,该函数就返回 表达式1 ,否则返回 表达式2 。
比如:
? iif(a=1,’正确’,’错误’)
如果 a 等于1,就显示“正确”,否则就显示“错误”。
if a=1
? ’正确’
else
? ’错误’
endif
嵌套方式:IIF(条件,真部分,IIF(条件,真部分,IIF(条件,真部分,假部分)))
SELECT IIf([sex]=1,’帅哥’,IIf([sex]=2,’美女’,’人妖’)) AS ss FROM [userinfo]
select sum(iif(b=’c’,1,0)) as Expr1,sum(iif(b=’d’,1,0)) as Expr2,sum(iif(b=’e’,1,0)) as Expr3 from a
但很显然用 iif() 函数简单得多,而且程序运行的速度也快。