SSRS函数大全

微软表达式参考地址:
https://learn.microsoft.com/zh-cn/sql/reporting-services/report-design/expression-examples-report-builder-and-ssrs?view=sql-server-ver16

1,UCase 函数:转换成大写形式:比如如下表达式
=UCase(Format(Today(), “d MMMM yyyy”))
返回
把当天的日期转换成大写的形式。
在这里插入图片描述
2,first函数,返回数据集中type字段的第一个值。比如如下表达式:
=UCase(First(Fields!Type.Value, “MainDataset”))
3,CStr函数 使用名为 CStr (转换 (Convert) 为字符串 ( String) 的简写形式)。 比如以下表达式:
=IIF((CStr(First(Fields!UR_BusinessUnitId.Value, “UserDetailsDataSet”)).Equals(“AU Team”)
OR
CStr(First(Fields!UR_ParentBusinessUnit.Value, “UserDetailsDataSet”)).Equals(“NZ Team”)), " XXXXXX111", " XXXX2222")

以下按照分类:
杂项类:
1,InScope:如果当前实例在指定的作用域内,则返回 True。
=InScope(“table1_Group1”)
=InScope(“GroupByInitial”)
2,Level:返回一个以零为基的整数,该整数表示递归层次结构的当前深度级别。
=Level()
=Level(“GroupByInitial”)
3,Lookup :使用 Lookup 可以从指定的数据集中为具有一对一关系的名称-值对检索对应的值。例如,对于表中的 ID 字段,可以使用 Lookup 从未与数据区域绑定的数据集中检索对应的“名称”字段。
=Lookup(Fields!SaleProdId.Value, Fields!ProductID.Value, Fields!Name.Value, “Product”)

在以下示例中,假定将某个表绑定到包含一个用于产品标识符 ProductID 的字段的数据集。一个单独的称为“Product”的数据集包含相应的产品标识符“ID”和产品名称“名称”。

在下面的表达式中,Lookup 将 ProductID 的值与名为“Product”的数据集的每行中的 ID 进行比较,当找到匹配项后,为该行返回“名称”字段的值。
=Lookup(Fields!ProductID.Value, Fields!ID.Value, Fields!Name.Value, “Product”)

4。LookupSet :使用 LookupSet 可以从指定的数据集中为具有一对多关系的名称-值对检索一组值。例如,对于表中的客户标识符,可以使用 LookupSet 从未与数据区域绑定的数据集中检索该客户的所有关联电话号码。
=LookupSet(Fields!TerritoryGroupID.Value, Fields!TerritoryID.Value, Fields!StoreName.value, “Stores”)
5,Multilookup :使用 Multilookup 可以从数据集中为若干名称-值对(其中每个名称-值对都具有一对一关系)检索一组值。MultiLookup 等同于针对一组名称或键调用 Lookup。例如,对于一个基于主键标识符的多值参数,可以在表中文本框内的表达式中使用 Multilookup,从未与参数或表绑定的数据集中检索关联的值。
=Multilookup(Split(Fields!ProductCategoryIDList.Value, “,”), Fields!ProductCategoryID.Value, Fields!ProductCategoryName.value, “Categories”)

Where ProductCategoryIDList contains a comma separated list of codes “4,5,2,5”. The list will be converted by the Split function into an array. Each element of the array will be searched to match on the DestinationExpression from the Dataset, returning an array of values from the ResultExpression.

6,Previous:返回上一行数据的表达式的值。=Previous(Fields!FirstName.Value)

7,RowNumber:返回指定范围内的所有行的运行计数。=RowNumber(“AdventureWorks”)
比如以下表达式:=“总数等于:”+CStr(RowNumber(“DataSet_Account”)) 返回这个数据集的记录总数。

程序流类:
1,Choose:从参数列表中选择并返回一个值。
=Choose(2,“13”,“15”,“21”) 这里表示返回15,
=Choose(3,“13”,“15”,“21”) 这里表示返回21,
=Choose(Datepart(“w”,Fields!BirthDate.Value),“第一”,“第二”,“第三”,“第四”,“第五”,“第六”,“第七”)

2,IIF: 根据表达式的值返回两个对象中的一个。
=IIf(Fields!YearlyIncome.Value >= 60000,“高”,“低”)

3,Switch: 对一系列表达式求值并返回与其中第一个为 True 的表达式相对应的 Object 值。
=Switch(Fields!State.Value = “OR”,“Oregon”,Fields!State.Value = “WA”,“Washington”)
=Switch(Fields!FirstName.Value = “Sue”,“Susan”,Fields!FirstName.Value = “Bob”,“Robert”)

转换类:
1,CBool:转换为 Boolean。
=CBool(Fields!HouseOwnerFlag.Value)
2,CByte:转换为 Byte。
=CByte(Fields!NumberCarsOwned.Value)
=CByte(Fields!Number.Value)
3,CChar :转换为 Char。
=CChar(Fields!MaritalStatus.Value)
=CChar(“ABC”))
4,CDate :转换为 Date。
=CDate(Fields!BirthDate.Value)
=CDate(“October 2, 2001”)
5,CDbl:转换为 Double。
=CDbl(Fields!YearlyIncome.Value)
=CDbl(573.45 * .4287 * 82561)
6,CDec:转换为 Decimal。
=CDec(Fields!YearlyIncome.Value)
=CDec(573.4503)
7,CInt:转换为 Integer。
=CInt(Fields!YearlyIncome.Value)
=CInt(734.62)
8,CLng:转换为 Long。
=CLng(Fields!YearlyIncome.Value)
=CInt(73462.23)
9,CObj:转换为 Object。
=CObj(Fields!YearlyIncome.Value)
=CObj(73462.23)
10,CShort:转换为 Short。
=CShort(Fields!NumberCarsOwned.Value)
=CShort(200)
11,CSng:转换为 Single。
=CSng(Fields!YearlyIncome.Value)
=CSng(12.746522945)
12,CStr:转换为 String。
=CStr(Fields!YearlyIncome.Value)
=CStr(12.746)
13,返回数字的整数部分。
=Fix(-9.25)
=Fix(Fields!YearlyIncome.Value / -3)
14,Hex:返回表示数字的十六进制值的字符串。
=Hex(Fields!CellColor.Value)
=Hex(46)
15,Int:返回数字的整数部分。
=Int(-93.4)
=Int(Fields!YearlyIncome.Value / 12)
16,Oct:返回表示数字的八进制值的字符串。
=Oct(Fields!BitString.Value)
=Oct(8)
17,Str:返回表示数字的 String 值。
=Str(Fields!YearlyIncome.Value)
=Str(352.75)
18,Val:返回字符串中作为相应类型的数值而包含的数字。
=Val(Fields!AddressLine1.Value)
=Val(“6706 Ridgeview Dr”),

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值