reporting-services - SSRS 使用报表目录报表超链接到报表管理器上的其他报表
问题描述
我有一个查询,它使用 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 表中,在textbox properties上,我将操作设置为Go to URL并使用表达式=Fields!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
推荐阅读
- math - n/1 + n/2 + n/3 + 的大 O 复杂度
- java - Java:为什么由超类初始化的变量在创建对象后保持值
- c# - Enable-Migrations 不起作用“Exceção ao chamar “LoadFrom” com “1” argumento(s)”
- flutter - 在 Flutter Text Widget 中调整新的行距
- android - 在 Android Studio 北极狐更新之后,Android 工作室花费了很长时间来构建项目
- html - 如何在表单中编写预先格式化的文本?
- r-markdown - Rmarkdown 官员:交叉引用 block_captions 编号不正确
- windows - Windows 任务计划程序无法停止 exe
- linux - 无法将 linux NFS 共享挂载到 Windows 2019
- python - 使用 SqlAlchemy 代理到基于字典的集合时如何避免 IntegrityError