问题标签 [reporting-services-2012]

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.

0 投票
1 回答
481 浏览

ssrs-2012 - SSRS 如果计数为 Null,则显示 0

我在 SSRS 中有一份报告,其中计算了每个月使用的项目,但由于当月没有使用任何项目,所以缺少一些月份。

如果特定月份没有数据,我希望出现月份分组,并且计数显示为“0”。

如果尝试了 IsNothing 表达式,但在没有数据的情况下几个月仍不显示“0”。

'当月(BagDoseStartDateTime)在 7 和 12 之间时选择不同的情况,然后 cast(right(year(BagDoseStartDateTime),2) as varchar(10)) + '/' + cast(right(year(BagDoseStartDateTime) + 1,2) as varchar(10)) else cast(right(year(BagDoseStartDateTime) - 1,2) as varchar(10)) + '/' + cast(right(year(BagDoseStartDateTime),2) as varchar(10)) end as FinancialYear ,year(BagDoseStartDateTime) as YearAdministered ,month(BagDoseStartDateTime) as MonthAdministered ,D.[Drug] ,D.[BagDoseStartDateTime]

FROM CAB_Reporting.dbo.CAB_V_Doses_Bags D --内部加入 CAB_Reporting.dbo.CAB_V_Dose_Actions DA on DA.PatientID = D.PatientID

其中 ((year(BagDoseStartDateTime) = 2016 and month(bagDoseStartDateTime) >6) 或 (year(BagDoseStartDateTime) = 2017)) 和 ((D.Drug Like 'Red Blood Cells (1 Unit)' And D.Status Like 'Administered ') 或 (D.Drug Like 'Fresh Frozen Plasma (FFP 1 Unit)' And D.Status Like 'Administered') 或 (D.Drug Like'Cryoprecipitate (Multiple Units)' And D.Status Like 'Administered') 或(D.Drug Like 'Platelets (1 Unit)' And D.Status Like 'Administered'))按年排序(BagDoseStartDateTime),月(BagDoseStartDateTime)'

0 投票
1 回答
350 浏览

reporting-services - 带有 where 子句的 SSRS AVG 函数

我对 SSRS/Report Builder 中的 avg-function 有疑问。我想要实现的是一个表达式,它给出了每个事件的平均提前期,其中考虑了事件的紧迫性。我已经为所有可以正常工作的事件做了这个简单的表达:=Avg(Fields!Lead_time_call__in_days_.Value, "DataSet1")

这是我所做的表达,应该考虑到紧迫性(但它不起作用):=AVG(IIF(Fields!Urgency.Value = "Low", Fields!Lead_time_call__in_days_.Value, 0), "DataSet1")

这将显示:screenshot 但这是不可能的,因为单个平均值不能全部低于总平均值(这是正确的)

有人知道我做错了什么吗?谢谢!

0 投票
1 回答
603 浏览

sql-server - Reporting Services 部署超时并且报表管理器 URL 只是挂起

几年来,我一直在同一台服务器上运行 Reporting Services。我们的 IT 团队说没有对服务器进行任何更改,但突然我无法部署报告(它们超时),当我通过 URL http:\server\reports 或“http:\server\reportserver”访问时,它只是挂起,我永远不会出错。我们无法运行报告。

我可以通过 Visual Studio 数据工具运行报告,但无法部署它们。

我尝试重新启动服务器并重新启动报告服务和 sql 服务器服务。

有任何想法吗 ?我该如何解决这个问题?日志文件似乎没有太大帮助。

感谢 PJC

0 投票
1 回答
1511 浏览

ssrs-2012 - 如何在 SSRS 中使用十六进制颜色值

当我在“表达式”窗口中将自定义颜色设置为某种形式时,公式看起来像 #117be0="#117be0"

那么,问题是,如何从包含相同值的数据集中获取字符串颜色十六进制值?像这样的东西 =First(Fields!my_color.Value, "color_dataset")

0 投票
1 回答
166 浏览

parameters - SSRS:供用户单击以转到报告的单值参数

我将 Visual Studio 2012 用于 SSRS 目的。

我在 SSRS 中对此相当陌生,目前我有 5 个不同的报告 (rdls) 1. 工作流程 2. 结果 3. 证人 I 4. 证人 II 5. 负面结果

我想要做的是从一开始就创建一个参数,允许用户从这 5 个报告中选择 1 个去。然后,当他们获得该报告时,他们可以运行该报告的特定参数。

我该如何在 SSRS 中执行此操作?或者对此有什么建议?

0 投票
2 回答
138 浏览

reporting-services - 当年一月最后一天的表达式

我想知道我用什么表达来专门找到当年一月的最后一天。有人可以帮我解决 SSRS 中的这个特定表达吗?试图用于参数值。

谢谢!

0 投票
0 回答
157 浏览

reporting-services - 动态生成的 SSRS 报告

是否可以动态创建 SSRS tablix?我有一个非常复杂的要求。

我创建了表格,在其中填写报告的“元数据”,即:

  • 列名
  • 行名
  • 行/列级别(父/子)
  • 字体颜色
  • 字体大小
  • 从/有效到属性有效
  • 翻译

然后,我从这个元数据生成查询,并将它们加入事实表。因此,每个查询都按应有的方式返回数据。

我按级别生成数据,因此您始终知道您当前处于哪个级别。因此,您将获得以下形式的数据(我可以更改它,如果这样可以简化报告的创建):

基本上,SSRS 不需要总结任何东西,它只是显示数据。但这就是我遇到麻烦的地方。我不知道,如何实现看起来正常的报告。我已经制作了 5 个列组(5 是任何报告中的最高级别数),每个列组都是前一个列组的子级。行组根据当前查询的最大级别隐藏,因此如果查询只有级别 1 的数据,则仅显示 1 行。

但棘手的部分来了。我有一份报告,其中包含如下数据:

在此处输入图像描述

如果某些数据位于第 5 级,而某些数据位于第 1 级(其他数据介于两者之间),则第 1 级的数据有 4 个空行...

所以,我的报告显示了很多空单元格。要么,要么我为所有 5 个级别显示相同的文本。有没有聪明的方法来解决这个问题?我什至可以改变整个概念,因为我还处于开发初期。

编辑:

这是必须动态生成的确切报告之一(它是一个公共模板): ssrs 模板

0 投票
0 回答
298 浏览

asp.net - SharePoint 中 Web 部件中的 ReportViewer 控件对某些报表显示 401

我正在尝试解决报告查看器控件显示消息的问题:

请求失败,HTTP 状态为 401:未授权。

而不是报告。此消息显示在将显示报告的位置。页面的 Share Point 部分正常显示。

这发生在 SharePoint 2013 页面上的报表查看器控件中。

其他页面上的其他一些报告显示得很好。在报表服务器中,这些报表的浏览权限是相同的。

具有相同配置的测试环境工作正常。我在 Web 服务器上的 web.config 和报表服务器上的 RSReportServer.config 文件中找不到任何差异。

我使用浏览器中的 http 流量,使用 IE 开发人员工具中的“网络”选项卡,看到了一些了不起的东西。从 javascript 到报表服务器控件的 POST 请求如下:

并接收 HTTP 500 状态,而响应正文只有两个字节:

好的

正常工作的报告发出类似的请求,但只接收 HTTP 200 状态,也以 OK 作为响应正文。

在我的测试环境中,情况又有所不同。该报告向 ReportViewerWebControl.axd 发出三个请求。第一个获得 HTTP 401 状态。下一个请求添加带有 NTLM 令牌的身份验证标头。这也会获得 401 状态。第三个添加另一个 NTLM 值并获得 200 状态。

这看起来像是一些挑战机制,我发现了一篇 MSDN 文章错误:请求失败,HTTP 状态 401:当您在 Microsoft Dynamics CRM 4.0 中打开报告并通过添加到我的 RSReportServer.config 文件进行测试时未授权。这没有帮助,我的测试环境中也没有这个键。

我还启用了 FailedRequest 日志记录,以更深入地了解内部服务器错误,由对 ReportViewerWebControl.axd 的请求返回。此日志记录非常详尽,但我找不到任何指向此错误原因的内容。

在请求摘要下,它显示

并在身份验证和授权下

我不明白所有这些意味着什么,但它是

ErrorCode 操作成功完成。

看起来很矛盾。

有人对解决此问题的后续步骤有建议吗?

0 投票
1 回答
147 浏览

reporting-services - SSRS 2012 将数据集与分组合并

数据集 1 = 可报告数据

可报告的数据

数据集 2 = 查找信息

查找信息

我可以使用 Lookup 将他们的数据“合并”到一个表中。(从这里:加入两个数据集以在报表生成器 3 中创建单个 tablix)。将 tablix 指向 Dataset1,获取 Location 的公式为:

=查找(字段!PersonId.Value,字段!PersonId.Value,字段!Location.Value,“Dataset2”)

可以得到这个表

我的问题来自于尝试更进一步并应用一个依赖于从数据集 2 中找到的数据的行组。

想得到这张桌子

我无法重新设计并以某种方式提出组合 T-SQL 查询。数据集 1 来自大于 8,000 个字符的 SSAS MDX 表达式,因此尝试通过 OpenQuery 将其操作到 SQL 失败,因为命令长度太大。

我也无法翻转数据集并让数据集 2 成为报告布局的驱动程序并在数据集 1 上进行查找。数据集 2 将没有来自数据集 1 的 PersonId 列表的上下文,因此具有比将要多得多的行数必要的。查找必须来自数据集 1。

感谢您的时间和建议!

0 投票
0 回答
212 浏览

asp.net - 报告正文不可见

使用 Visual Studio 2015 mvc 5 应用程序。我SSRS report用 Visual Studio 2012 创建了一个不带任何参数的(还)。我nuget以前加过ReportViewerForMvc。我通过一个在线教程来创建ReportTemplate.aspx等。我正在使用表单身份验证,所以我将数据源更改为在SSRS. 当我手动运行报告时,我得到 151 页。当我通过应用程序运行它时,顶部的工具栏显示 151 页中的 1 页。但是,我看不到报告的正文,工具栏上的所有按钮都被禁用。我一直在摆弄ReportTemplate.aspx.cs(后面的代码)中的控件属性,ReportTemplate.aspx 但似乎没有任何改变。

包条目:

网络配置:

...

谢谢李