问题标签 [ssrs-2017]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reporting-services - SSRS 查找缺失数据集
我有一个看起来像这样的数据集
然后我有三个单独的文本框,它们将填充与名称匹配的列的值。
示例:spend
如果值等于此值,则在文本框中name
显示值First Aid
我已经制作了以下表达式
然而,我的问题是我收到一个错误,说skill_name
缺少它dataset
,这对我来说没有意义,因为它在表达式的末尾被告知 ( skills
)
reporting-services - 远程链接服务器上的 SSRS 查询
我已经SSRS
在Server1
.
Server2
链接到Server1
in sys.servers
。
queries/reports
如果我运行Server1
对象,所有链接都运行良好
我想对Server2
对象运行报告
尝试 1
我创建了一个共享数据源Server2
,以在共享数据集中构建查询。
a) 预览 - 运行良好
b)Server1/Reports
抛出此错误:
报告处理过程中发生错误。(rsProcessingAborted) 共享数据集“table1”的执行失败。(rsDataSetExecutionError) 数据集“DataSet1”的查询执行失败。(rsErrorExecutingCommand) 有关此错误的详细信息,请导航到本地服务器计算机上的报告服务器,或启用远程错误
尝试 2我尝试使用 Server1,并从那里链接。因此,在创建数据集时,我将Server1
其用作源并构建了此查询
a) 预览运行良好
b)Server1/Reports
抛出与上述相同的错误
注意:将上述查询更改为 OPENQUERY 会产生相同的结果
如果我查看日志,它会说:
用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败
它可以连接到Server1
数据源(因为 SSRS 安装在 Server1 上),但无法连接到Server2
. 如何授予该用户访问权限Server2
?
我如何解决上述问题,以便报告也可以正常Server1/Reports
运行
注意:我使用 SQL Server 2017
c# - 使用 SSRS 渲染扩展发送自定义 HTTP 标头
SSRS 渲染存在一个已知问题,即在渲染 PDF 时Content-Disposition: attachment; ...
会发送一个标题,该标题会强制文件下载而不是打开内联(这里是 2009 年关于它的 SO 线程)。
我想知道是否可以通过在 SSRS 中使用渲染扩展来解决此问题以使 PDF 在浏览器中打开。我在 C# 中找到了一个示例渲染扩展,在这里: https ://blogs.technet.microsoft.com/johannh/2017/07/14/creating-and-debugging-a-ssrs-custom-rendering-extension/
但是,该代码似乎只输出一个流。是否可以在发送流之前以某种方式发送标头,从而覆盖Content-Disposition
通常发送的标头?
reporting-services - 用于 KPI 的 SSRS 数据集,多重计算
我正在尝试设置一个 KPI,以指示用于趋势数据的数据集中某些内容的总数。
在这种情况下,KPI 似乎无法显示 Sum'ed 或 Max'ed 值,您必须在数据集查询中执行该操作。我已经有了报告每天总计的数据以填充 KPI 上的条形图,并且要求再次创建完全相同的数据集似乎非常浪费,只是更改SELECT DayTotal FROM Table
为SELECT SUM(DayTotal) FROM Table
有没有办法让这个计算的数据集基于初始数据集,这样我就没有两个实际上相同的数据集需要维护?
json - SSRS REST API 嵌入式数据源凭证设置
我有一个可行的解决方案,它将使用 POST 请求将 rdl 报告定义部署到报告服务器。这些报告利用嵌入式 XML 数据源,其中包括目标端点的请求令牌(通过 https),因此不需要任何凭据。 随后,rdl 文件被定义为不需要凭据——这需要设置无人参与的执行帐户才能允许使用不使用凭据配置报告。这些报告的部署是成功的,但是,我遇到了一个初始问题和一个试图修复第一个问题的后续问题:
1) 部署时,SSRS Server 忽略了报表定义数据源凭据设置“无凭据登录数据源”,将数据源设置为提示输入凭据。
2) 作为#1 中描述的问题的解决方法,我尝试PUT
针对端点发出额外的 API 请求 () /Reports(path='/folder/reportname')/DataSources
,但是,我无法形成适当的 json 对象来完成请求。
编辑:
在仔细检查GET
响应(包括下面稍微修改的示例)后,Id
与嵌入式数据源相关联的Id
'似乎也不起作用(我已经更新了之前包含的示例有效负载以省略 ID 并包含Name
数据源的 ID,但这些请求仍然返回400 Bad Request
状态代码。
编辑#2: 我对通过 Visual Studio (SSDT) 部署报告的熟悉让我忘记了凭据实际上并未定义为报告的一部分,这是不可取的,因为在许多情况下,凭据存储在源代码控制或报告服务器,他们可能会受到损害。这意味着我应该进行辅助 API 调用,但到目前为止,我还没有成功地制作一个对象以作为有效负载传递到该端点。
GET 请求响应示例/Reports(path='/folder/reportname')/DataSources
JSON 有效负载示例:1
(通过修改GET
请求中的 json 摘录来创建/Reports(path='/folder/reportname')/DataSources
)
JSON 有效负载示例:2(最小)
这将是理想的形式,并且应该基于 api 文档有效
这里的理想解决方案是强制 SSRS 遵守嵌入式数据源设置的设置,但如果我能找出要使用的正确语法,额外的 REST API 调用也可以。
sql - SSRS - 无法读取数据集 DataSet1 的下一行
我正在为这段代码做大约 8 个工会。区别在于行标题的名称。这份报告已经运行了大约一年,没有任何问题。我在 SSRS 查询类型文本中使用此代码。我还有一个行集名称“AverageSeconds”配置为读取此表达式
报告有些坏了,我已经尝试了所有我找到的方法来修复它。请帮助我解决此错误“rsErrorReadingNextDataRow”。
reporting-services - SSRS 在导出为 CSV 时添加额外字符
我正在创建一个表达式,将多个字段组合到 SSRS 中的单个字段中。但是,当我导出到 CSV 时,一些记录会附加额外的双引号。我该如何解决?
原始数据:
我正在使用的表达式:
导出为 CSV 后的数据:
谢谢!