我对SSRS中的查询有疑问。我目前正在使用Visual Studio 2012 / SQL Server-2012。
我有以下2个数据集,其中包含以下各列:
Table 1 Dataset Table 2 Dataset
Client Number Loan Client Number
Loan Number Loan Detail Number
Loan ID Loan Amount
Borrower Name Loan Type
我正在尝试按以下顺序在SSRS中使用决赛桌:
Client Number | Loan Number | Loan ID | Borrower Name | Loan Amount | Loan Type
在上述情况下,客户号(表1)=贷款客户号(表2)和贷款号(表1)=贷款明细号(表2)
现在,我有一个查找,其中只有一个联接可以引入其他列:
=Lookup(Fields!Loan_Number.Value,Fields!Loan_Detail_Number.Value,Fields!Loan_Amount.Value,"Table_2_Dataset")
我知道在加入1列时如何进行查找。有没有一种方法可以在多个列上进行联接(在这种情况下,在客户编号和贷款编号上联接)?
答案 0 :(得分:1)
您要加入的“字段”只是表达式,因此您可以简单地在比较的两边将两个(或更多)字段结合在一起以进行结合。根据数据类型,数字范围等,您可能需要做一些工作以确保它们将是唯一的,但应该相当简单。
例如,如果我们仅将客户编号111和负载明细编号1合并,我们将得到1111,但是我们可能有一个客户编号11和贷款明细编号11,这也将给我们1111。
为简单起见,可以说两个数字都不会超过999。因此我们要加入的表达式将是这样。 (从数据集的字段名称中猜测您的字段名称)
(((Fields!Client_Number.Value * 1000)+ Fields!Loan_Number.Value)
所以您的完整表情看起来像
=Lookup(
((Fields!Client_Number.Value * 1000) + Fields!Loan_Number.Value),
((Fields!Loan_Client_Number.Value * 1000) + Fields!Loan_Detail_Number.Value),
,Fields!Loan_Amount.Value
,"Table_2_Dataset"
)