我有两个数据集,如下所示
FirstOne :
CFamily CName Cno Role
AFamily A 1 Main
AFamily B 2 Secondary
SecondOne :
CName Cno Product
A 1 P1
A 1 P2
B 2 P1
B 2 P2
该表使用第二个数据集进行映射,并使用Lookup按CFamily
分组。现在,在每个组(CFamily
)下,我需要显示一个额外的行来显示Contact with Role(Main)。我使用Lookup表达式如下。
Lookup(Fields!Cno.Value,Fields!Cno.Value,Fields!CName,"FirstOne")
但它大部分时间都在返回B
。有时。是否可以仅显示与角色“主要”联系。
答案 0 :(得分:0)
SSRS查找功能不可靠 - 最好在数据集上游执行此操作,例如使用SQL连接。
如果您使用SSRS表达式,我会尝试转换数据类型进行比较 - 有时SSRS会在内部决定不同的数据类型,这可能会导致此类数据中断。
e.g。
=Lookup(CInt(Fields!Cno.Value),CInt(Fields!Cno.Value),Fields!CName,"FirstOne")
答案 1 :(得分:0)
显然,迈克的回答并没有奏效。如果这是表中的所有数据,它应该有效 - 尽管如此应该有你的表达。
如果有其他数据而你只想要角色 主要,则可以连接查找字段:
=Lookup(CSTR(Fields!Cno.Value) & "|Main", CSTR(Fields!Cno.Value) & "|" & CSTR(Fields!Role.Value), Fields!CName, "FirstOne")