2016-09-22 124 views
1

我有我正在处理的SSRS报告。我想要做的是从自己的数据集中获取一个字段的值,并从另一个数据集中减去另一个字段的值。我可以做这个;然而,价值被分组,而不是给我一个单独的价值它给我:(所有完成) - (总和所有完成前一年)。 enter image description here一个字段的总和减去另一个SSRS的总和表达式

这是我表达我使用的列“与去年相比”

=SUM(Fields!Completed.Value, "MTDSales") - SUM(Fields!Completed.Value, "MTDminus1") 

"MTDSales""MTDMinus1"是2个独立的数据集。 MTDSales数据集是当前月份的销售成果按公司分组MTDMinus1数据集是本月的最后一年数字,因为我正在分别比较两个月。

+0

任何原因您无法在查询中获取上一年的数据以及当年的数据?引号中的名称是列组的名称还是两个不同数据集的名称? – Kidiskidvogingogin

回答

2

我不得不在一份报告中这样做,我从一个数据库中提取当前数据,从数据仓库中提取旧数据并合并。你需要做几件事情:

1.建立一个匹配字段

这可以作为一个单一的列一样简单。如果您需要匹配多个字段,则需要为每个可匹配的数据集添加一个计算字段。假设你需要匹配的公司和财务年度和每个数据集返回一年的数据,这可能看起来像match_id(假设数值 - 否则,你可能需要使用|什么作为分隔符):

`="A" & Fields!fin_year.Value & "B" & Fields!cust_id.Value` 

2.检索数据到源字段。

在您的Tablix中添加一列,你必须保持抬头值:

=Lookup(Fields!matchId.Value, Fields!matchId.Value, Fields!Completed.Value, "MTDminus1") 

3.使用数据

现在,您可以汇总数据或做任何进一步的计算您希望该字段是您原始数据集的一部分。

+0

嗨SMM我不明白为什么我需要做所有这些只是为了得到1列的结果 - 另一个分组公司,肯定有一个表达式,可以写成包含“group by”函数作为数据集有公司你可以通过一个参数进行分组,为什么不是一个字段“= Fields(Parameters!GroupBy.Value).Value” – RustyHamster

+0

你如何关联以获得每一行的正确公司总和?我不确定SSRS有一个功能,可以一步完成。这为我工作:-)实施它不应该是很多工作。 – SMM

+0

我明白你的意思了,它将如何知道如何区分哪家公司的价值所在。我会尝试并按照你的步骤谢谢 – RustyHamster

相关问题