Reporting services SSRS-在子组中查找的表达式会导致重复标签值

Reporting services SSRS-在子组中查找的表达式会导致重复标签值,reporting-services,ssrs-2012,Reporting Services,Ssrs 2012,我创建了一个包含两列组(年度和季度)的矩阵 季度标签的表达式(年下的表达式)为: 因此,在报告中,我将第一季度、第二季度、第三季度和第四季度作为季度标签 我们有一个国际团队,所以我需要其他标签在德语或英语,取决于用户。因此,我创建了一个包含所有翻译的数据集,这些翻译是从数据库中的翻译表填充的。要获得标签的正确翻译,我使用LOOKUP()函数 当我使用LOOKUP()获取“剩余金额”文本框(位于年份组中)的正确翻译时,它工作正常: =LOOKUP(11, Fields!ID.Value, Fie

我创建了一个包含两列组(年度和季度)的矩阵

季度标签的表达式(年下的表达式)为:

因此,在报告中,我将第一季度、第二季度、第三季度和第四季度作为季度标签

我们有一个国际团队,所以我需要其他标签在德语或英语,取决于用户。因此,我创建了一个包含所有翻译的数据集,这些翻译是从数据库中的翻译表填充的。要获得标签的正确翻译,我使用LOOKUP()函数

当我使用LOOKUP()获取“剩余金额”文本框(位于年份组中)的正确翻译时,它工作正常:

=LOOKUP(11, Fields!ID.Value, Fields!description.Value, "ds_Labels")

结果是:

但是,当我尝试使用LOOKUP()获取位于季度组中的“金额”文本框的翻译时,会出现正确的翻译,但年份标签也从2014年开始,而不是从2008年开始,并且季度和年份标签重复:

=LOOKUP(17, Fields!ID.Value, Fields!description.Value, "ds_Labels")

结果是:

我不知道这是什么样的错误,我如何才能摆脱它。也许有人能帮我:)


更新

正如我在注释中提到的,LOOKUP()函数在quarter组的前三列中工作。如果我尝试在quarter组的第四个文本框中使用LOOKUP(),报告就会变得疯狂(参见最后一个屏幕截图)。但我还是不明白为什么


更新2


当我将报告部署到SSRS 2008R2上时,报告工作得非常好。但我需要它在SSRS 2012上运行。可能是SSRS2012错误?

当您查找与id 17关联的记录时,是否确保只返回一条记录?该函数设计用于1对1关系

我认为这是一个bug。对当前正在tablix中呈现的同一数据集运行
Lookup()
/
LookupSet()
查询会导致重复


我找到的唯一解决方法是传递数据集的副本,并对该副本运行
Lookup()
查询。这样一切都很好。

是的。每个id都是唯一的。因此只返回一条记录翻译表有三列:ID(1,2,3,…),language(de或en US)和description(translation)。因此,ID17存在两次,但与语言一起,它是唯一的。我测试了子组中的其他LOOKUP()函数,它们工作正常。尝试查找id 17时出现错误。我不明白为什么这是唯一一个不起作用的id。新测试:即使我尝试在这个文本框中查找ID21,报告也会变得疯狂。所以问题不在于id,而在于quarter组中的第四个文本框。但为什么?!您是否尝试过查看报告代码以确保该区域中没有不可靠的xml标记?
=LOOKUP(17, Fields!ID.Value, Fields!description.Value, "ds_Labels")