--在做点击流数据分析的过程中,有这样一种需求,参数选项可以设置不同度量,方法如下:
--设定度量参数(下拉框)
=IIf(Parameters!量值.Value < 2,Sum(Fields!咨询量.Value),Sum(Fields!预约量.Value))
=Switch(Parameters!量值.Value = 1, Sum(Fields!展现量.Value),
Parameters!量值.Value = 2, Sum(Fields!点击量.Value),
Parameters!量值.Value = 3, Sum(Fields!消费.Value),
Parameters!量值.Value = 4, Sum(Fields!咨询量.Value),
Parameters!量值.Value = 5, Sum(Fields!有效咨询量.Value),
Parameters!量值.Value = 6, Sum(Fields!资源量.Value),
Parameters!量值.Value = 7, Sum(Fields!预约量.Value))
--设定度量参数(标题随参数下拉框的选项而变动)
=Switch(Parameters!量值.Value = 1, "展现量",
Parameters!量值.Value = 2, "点击量",
Parameters!量值.Value = 3, "消费",
Parameters!量值.Value = 4, "咨询量",
Parameters!量值.Value = 5, "有效咨询量",
Parameters!量值.Value = 6, "资源量",
Parameters!量值.Value = 7, "预约量")
--在报表的表达式中需要多次使用某个复杂计算时,需要创建一个变量:
--打开“报表属性”对话框,单击“变量”,然后输入名称和值:
--在表达式中引用变量XXX:
=Variables!XXX.Value
--当表格需要美观,隔行显示不同颜色时:
--设置Table/Matrix隔行不同背景色:
Table BackgroundColor表达式:
=IIf(RowNumber(Nothing) Mod 2, "PaleGreen", "White")
=IIf(RunningValue(Fields!XXX.Value,CountDistinct, Nothing) Mod 2 = 0,"LightBlue","White")
--该值大于某个数,返回“Red”;否则返回“Black”
-- 用于控制报表项中的文本框的 Color 属性:
=IIF(DateDiff("d",Fields!XXXDate.Value, Now())>7,"Red","Blue")
--返回三个值中的一个,根据文本框中的值更改背景色
=IIF(Fields!XXX.Value >= 10, "Green", IIF(Fields!XXX.Value >= 1, "Blue", "Red"))
=Switch(Fields!XXX.Value >= 10, "Green",
Fields!XXX.Value >= 1, "Blue",
Fields!XXX.Value = 1, "Yellow",
Fields!XXX.Value <= 0, "Red",)
--添加的计算字段除数为0 处理方法:
=iif(B=0, 0, A / iif(B=0, 1, B))
--报表当当中嵌入代码,可以自定义函数
--打开“报表属性”对话框,单击“代码”,然后输入:
public function divide(x as double, y as double) as double
if y=0.0 then
return 0.0
else
return x/y
end if
end function
--然后在表达式当中引用
=Code.divide(Sum(Fields!消费.Value),Sum(Fields!点击量.Value))
--日期函数表达式:
--取昨天日期:
=DateAdd("d",-1,Today())
--取上月今天日期
=DateAdd("m",-1,Today())
=DateAdd(DateInterval.Month, -1, Today())
--取上一个小时日期
=DateAdd("h",-1,Today())
--取上年今天日期
=DateAdd("yyyy",-1,Today())
--取上月
=month(Fields!月份.Value)-1
--合并两个字段,分别位于同一文本框的不同行中:
=Fields!FirstName.Value & vbCrLf & Fields!LastName.Value