1

工作環境是sharepoint2010。 我們已經將sharepoint list數據源連接到vs2008中的報告項目。它可以使用tablix在單個數據集中顯示數據。 我們有2個數據集 1)salesMain 2)客戶在ssrs中查找不顯示tablix中的值。

在salesMain,我們有字段,如SalesID,客戶ID,saleDate,總金額,taxAmt,netAmount

客戶,我們有 的customerID,客戶名稱,地址

我需要顯示像 SalesID,客戶名稱,地址數據,netAmount,TaxAmt,總金額

我們已經分配SalesMain數據集Tablix的,它顯示了DAT一個樣子。 問題是,顯示的一些數據是foriegn鍵值,如CustomerID。 我們需要使用foriegn鍵值(CustomerID)來獲取像「customername」這樣的值。 接下來我們做了什麼,而不是使用佔位符的customerID字段,我們使用Lookup設置了一個表達式,但是這個字段顯示空白。 查找方法有點像這樣lookup。 SalesMain數據集是Tablix table1的源(數據集名稱)。 我們使用查找功能是 =查找(領域!CustomerID.Value,菲爾茲!customerID.Value,菲爾茲!CustomerName.Value, 「客戶」)

,其中第一個參數是查找的關鍵(foriegnkey)第二個參數是要匹配的關鍵(客戶的主鍵),第三個參數是要檢索的值(將顯示在tablix單元格中)和第四個參數數據集在報告中(客戶)

任何一個建議爲什麼查找劑量wrk。 在sharepointlist中,我們沒有使用任何查找(在沒有設置表關係的意義上)。

回答

1

對不起,讓你失望,但一個表(tablix)只能處理一個數據集。

+0

燁,@Gil,這就是我Ÿ使用哪種dosent拋出任何錯誤查找功能,但它仍然dosent顯示所需要的數據,我需要知道是否是任何工作周圍有這樣我可以利用第二個數據集。 :) – Jijeshan009

+0

第二個DS用於主表中的單行/列,還是遍佈整個表格? –

+0

是@Gil,第二個數據集用於顯示客戶名稱而不是客戶ID ......即如果客戶ID和使用查找方法設置其表達式,則我添加了佔位符 – Jijeshan009

1

jijeshan009,你說得對,查找應該爲你做好。

注意:
- 在Business Intelligence Development Studio中預覽報表時,打開錯誤列表並檢查警告。查找錯誤可能在該列表上(例如轉換失敗)。
- 有時候所有的代碼看起來都是正確的,但是在使用查找的列中會顯示#error。關閉BIDS,重新啓動機器等將不起作用。什麼可以工作雖然是執行報告與不同參數(如果有的話)。你會得到新的數據而不是緩存的數據,查找可能會起作用。
- 數據集1和數據集2的列必須是相同類型的列。您甚至可以將來自Oracle的數據集與來自SQL Server的數據集混合:例如一個varchar2列和一個varchar列。
- @Gil Peretz,Lookup將適用於每一行,而不僅僅是第一行。我認爲數據被緩存是因爲我沒有任何性能問題(甚至使用多個列)。

2

我有同樣的問題與SharePoint數據集和lookupset功能工作時,我注意到的Sharepoint源定義內的外鍵字段是查找的類型,所以我解決這個鑄件在SSRS領域如下:

=Lookup(**CInt(Fields!CustomerID.Value)**, Fields!customerID.Value, Fields!CustomerName.Value, "Customer") 
0

稍微偏離主題,但在使用外鍵值(第一個參數)爲NULL的Lookup函數時也會出現此錯誤。至少這是我在嘗試使用Lookup來加入兩個數據集時發現的,這兩個數據集都是SharePoint列表。