Reporting services SSRS使用报表目录报表超链接到报表管理器上的其他报表

Reporting services SSRS使用报表目录报表超链接到报表管理器上的其他报表,reporting-services,ssrs-2008,ssrs-2012,Reporting Services,Ssrs 2008,Ssrs 2012,我有一个查询,它使用ReportServer数据库检索有关服务器上可用报告的信息。我创建了一个带有标准表(无分组)的“报告目录”,其中列出了所有单独的报告、它们的文件夹以及每个报告的运行次数。是否有一种方法可以超链接每个报表名称,以使用户访问这些报表 以下是查询(如果有帮助): SELECT c.Name, REPLACE(c.[Path], c.Name, '') as Path, COUNT(*) as TimesRun FROM [ReportServer].[dbo].[Execut

我有一个查询,它使用ReportServer数据库检索有关服务器上可用报告的信息。我创建了一个带有标准表(无分组)的“报告目录”,其中列出了所有单独的报告、它们的文件夹以及每个报告的运行次数。是否有一种方法可以超链接每个报表名称,以使用户访问这些报表

以下是查询(如果有帮助):

SELECT  
c.Name,
REPLACE(c.[Path], c.Name, '') as Path,
COUNT(*) as TimesRun
FROM [ReportServer].[dbo].[ExecutionLog](NOLOCK) el
INNER JOIN [ReportServer].[dbo].[Catalog](NOLOCK) c ON el.ReportID = c.ItemID
WHERE c.Type = 2
GROUP BY c.Name,c.[Path]
order by TimesRun desc
我通过将一些URL文本(如“http://”)与现有列连接起来创建了“ReportURL”列。URL还将所有空格替换为“%20”,所以我在查询中也这样做了。在我的SSRS表中,在文本框属性上,我将操作设置为转到URL,并使用表达式=字段!ReportURL.Value它似乎起到了作用

SELECT  
c.Name,
REPLACE(c.[Path], c.Name, '') as Path,
   REPLACE(('http://'+
   LEFT(el.InstanceName, CHARINDEX('\', el.InstanceName, CHARINDEX('\', el.InstanceName)) - 1)+ 
   '/reports/report'+
   c.Path),' ','%20')
   as ReportURL,
COUNT(*) as TimesRun
FROM [ReportServer].[dbo].[ExecutionLog](NOLOCK) el
INNER JOIN [ReportServer].[dbo].[Catalog](NOLOCK) c ON el.ReportID = c.ItemID
WHERE c.Type = 2
GROUP BY c.Name,c.[Path], el.InstanceName
order by TimesRun desc

报告路径通常为http(s):////