数据集1 =可报告数据
数据集2 =查询信息
我可以使用Lookup来"合并"他们的数据放在一张表中。 (从这里:Joining two datasets to create a single tablix in report builder 3)。 Tablix指向Dataset1,获取Location的公式为:
= Lookup(Fields!PersonId.Value,Fields!PersonId.Value,Fields!Location.Value," Dataset2")
我的问题来自于尝试更进一步并应用依赖于从数据集2中找到的数据的行组。
我无法重新设计并以某种方式提出了一个组合的T-SQL查询。数据集1源自大于8,000个字符的SSAS MDX表达式,因此尝试通过OpenQuery将其操作到SQL失败,因为命令长度太大。
我也无法翻转数据集,并且数据集2是报表布局的驱动程序,并在数据集1上进行查找。数据集2将没有来自数据集1的PersonId列表的上下文,因此有更多的行,而不是必要的行。查找必须来自数据集1。
感谢您的时间和建议!
答案 0 :(得分:0)
通过数据集2上的Lookup应用分组时,完全没有问题。我的问题是用户错误;我忘了在第一个字段添加“.Value”。
Bad:= Lookup(Fields!PersonId,Fields!PersonId.Value,Fields!Location.Value,“Dataset2”)