2013-03-06 22 views
0

所以我在Microsoft SQL Server報表生成工作,並在此匹配基本上是我想要的代碼來完成:嵌套查找函數?需要兩件事情

(在報表變量)

vChargeStatusID = LOOKUP(字段!CREDIT_CARD_TRANSACTION_ID.Value,參數!CREDIT_CARD_TRANSACTION_ID.Value,字段!CHARGE_STATUS_ID.Value, 「數據集1」)

(至於過濾器的表達式)

查找(變量!vChargeStatusID.Value,菲爾茲!CHARGE_STATUS_FK.Value,菲爾茲!CONTRACT_NUMBER.Value,「數據集1」)

我使用變量,該變量的表達嘗試創建嘗試另一個計算字段,但沒有運氣。我不斷收到我無法使用嵌套查找函數的錯誤。

基本上我想要做的是,首先,找到兩個彼此相等的東西來檢索一個數字。然後我需要拿到這個號碼並將它匹配到其他地方以最終返回合同號碼。

我無法弄清楚這一點。

任何幫助將是偉大的。

回答

0

所有的功勞都歸我的老闆所想到的!

第一步:創建另一個數據集,其被嵌入。然後該數據集有一個過濾器需要一個字段,在這種情況下,它是CREDIT_CARD_TRANSACTION_ID,並且對參數pCreditCardTransactionID進行評估。這可以確保第二個數據集只會向我顯示合同編號,這是我在查找功能中所需要的最後一件事情。

第二步:創建默認值從第二數據集(ContractNumberLookup)設定成磁場CONTRACT_NUMBER一個內部參數。

第三步:在表格上創建一個過濾器。來自原始數據集的CONTRACT_NUMBER設置爲等於內部參數。

田田! 我希望這可以幫助。如果需要澄清,請告訴我!

2

因此,一個非常簡單的方法就是在報告上放置一個字段(TextBox1.value),該字段將保存您的第一個查找值。

例如,您的第一個查找將返回客戶訂單(DataSet1)中的供應商ID(DataSet2)。

TextBox1.expression = Lookup(Fields!CustOrderID.Value,Fields!CustOrder_ID2.Value,Fields!VendorID.Value,"DataSet2") 

但現在你需要從供應商主表(DataSet3)找到供應商名稱。您可以使用ReportItems!TextBox1.value作爲查找的第一個值,再查看供應商主表。這樣你就不會遇到範圍問題。

TextBox2.expression = Lookup(ReportItems!Textbox1.value,Fields!VendorID.Value,Fields!VendorName.Value,"DataSet3")