2013-02-19 114 views
3

我正在使用ssrs中的矩阵报告。 这是我在excel中提取的报告的样本截图。 enter image description here在SSRS中获取矩阵报告中的文本框的值

该报告非常简单。它显示了不同年份的数据(例如:截至2012年1月)。 这些年的收入在数据库中被定义,因此它们被相应提取。问题在于其他子列。像“%Change”列。

的列值与下列公式

%change = ((NetRevenue of The current year/NetRevenue of the last year) - 1) * 100 

现在我做来解决这个问题的帮助计算是利用计算每列的SQL查询,然后直接结合到控制值。

我的问题是有一个更简单的方法来做到这一点。我的意思是像在表控制,我可以通过使用

ReportItems!Textbox1.Value 

访问单元格的值是否有一种方法,我可以访问矩阵报表的动态列。就像访问不同年份的NetRevenue值一样。

如果需要进一步澄清问题,请询问。

在此先感谢。

+0

您需要为我们提供'inscope'功能,http://go4answers.webhost4life.com/Example/ssrs-problem-subtotal-calculating-147541.aspx – glh 2013-02-19 12:31:04

+0

WOW试试这个以获得详细的理解。你需要调整它为你报告。 http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/0bde66d7-b0e4-40da-9a0c-838663e66119 .....我现在就去... @ askitsuhail – glh 2013-02-19 12:38:50

+0

感谢您的支持对这个问题的兴趣。让我研究一下,我会很快在这里发布我的结果。 – 2013-02-20 06:31:45

回答

1

我相信你唯一会遇到的问题是去年的收入是多少?

在这种情况下,您需要计算sql中的最后几年收入。然后使用:

=((RpItems!NetRev.Value/RpItems!NetRev_LastYr.Value) - 1) * 100 

在这种情况下,您需要计算您想要计算的%更改的所有最后年份值。

我可以建议你看看这个问题,并提出与你目前的SQL的另一个问题?

我发现这个效果最好。

+0

感谢您的答案,但如果我有多年?就像从2009年到2012年一样,每个净收入变化率都需要从上一年算起。我正在通过使用sql查询计算后端值来成功完成此任务。我相信ReportItems!item.Value不适用于矩阵字段。如果我错了,请纠正我。再次感谢您的回答。 – 2013-02-19 11:30:04

+0

对不起,不知道你矩阵字段的含义。但是你已经做了什么似乎是最好的,尽管可能使用单个sql进行优化。 – glh 2013-02-19 11:45:21

+0

检查[this](http://msdn.microsoft.com/en-au/library/dd255256(v = sql.105).aspx)out。聚合函数和数据范围必须有一些隐藏的交易。 – glh 2013-02-19 11:54:46