WEB开发网
开发学院数据库MSSQL Server SQL Server报表服务中的一些常见小问题 阅读

SQL Server报表服务中的一些常见小问题

 2008-08-14 09:54:51 来源:WEB开发网   
核心提示:SQL Server报表服务(SSRS)对于开发人员和用户来说是一个非常有用的设计和浏览报表的工具,但是,SQL Server报表服务中的一些常见小问题,有些特性是在SSRS中没有提供为直接可以使用的, 这些特性是开发人员和用户经常需要的,但是在SSRS中没有函数,不过, 在一个报表中显示服务器名称或IP地址当报表数据

SQL Server报表服务(SSRS)对于开发人员和用户来说是一个非常有用的设计和浏览报表的工具。但是,有些特性是在SSRS中没有提供为直接可以使用的。 这些特性是开发人员和用户经常需要的。

在一个报表中显示服务器名称或IP地址

当报表数据是运行在几个报表服务器上时,用户经常会搞错。你可能有一个测试和开发环境,但是你不知道你的报表数据是来自于哪个服务器。

很明显,解决这个问题的一个方法是在报表中显示报表服务器名称或它的IP地址。不幸的是,没有直接的函数或方法来获取服务器名称。但是有这个工作环境。

在报表服务中,有一个全局参数叫做ReportServerUrl,它可以显示报表URL。这个值的开始部分是来自于C:Program FilesMicrosoft SQL ServerMSSQL.#Reporting ServicesReportServer 文件夹下的RSReportServer.config 文件。在这个文件里,有叫做URLRoot 的结点。它是http://{IPAddress}/reportserver或http://{Server Name}/reportserver。你需要找到方法来提取这个IP地址或服务器名称,你可以使用下面的表达式:

Mid(Globals!ReportServerUrl,8,InStr(9,Globals!ReportServerUrl,"/")-8)

这个表达式所做的,是提取从//位置后的字母到/位置后的字母间的名称,这是服务器的服务器名称或IP地址。

将数字类型转化为文本

这是在SSRS论坛上经常看到的问题,因为许多用户需要将数字类型的数据显示为文本。尽管在水晶报表中有一个函数,但是在SSRS中没有函数。不过,你可以在SSRS中自己写个函数。

让我们用下面的查询来举个例子:

SELECTSales.SalesPerson.SalesPersonIDASSalesPerson,
SUM(Sales.SalesOrderDetail.OrderQty*Sales.SalesOrderDetail.UnitPrice)ASAmount
FROMSales.SalesOrderDetail
INNERJOINSales.SalesOrderHeaderONSales.SalesOrderDetail.SalesOrderID=Sales.SalesOrderHeader.SalesOrderID
INNERJOINSales.SalesPersonONSales.SalesOrderHeader.SalesPersonID=Sales.SalesPerson.SalesPersonID
GROUPBYSales.SalesPerson.SalesPersonID

1 2 3 4 5  下一页

Tags:SQL Server 报表

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接