2016-08-31 10 views
0

我有一個存儲過程返回象數據:通過代碼SSRS - 在我的報告缺少表中的數據,即使在SQL Server中沒有丟失數據

Id Name fromTable 
1 Alison Table1 
2 Gary Table2 
3 Jack Table1 
4 John Table3 

Select Id, Name, fromTable='Table1' from Table1 
union 
Select Id, Name, fromTable='Table2' from Table2 
union 
Select Id, Name, fromTable='Table3' from Table3 

我創建SSRS 2008中的報告創建了與此SP連接的Dataset1,並將一張表插入到與Dataset1相連的SSRS報告中。然而,在這裏我只能看到來自Table1的數據(Alison和Gary)。我看不到來自表2和表3的數據。我不明白爲什麼會發生,以及如何解決它,因爲似乎查詢在SQL Server 2008中運行良好。任何幫助將不勝感激。

+0

檢查報告運行所針對緩存數據,運行時報告生成按刷新按鈕,在報表查看器參數窗口。另請注意'UNION'運算符返回不同的行,請使用UNION ALL來獲取所有行。 –

+0

既不刷新也不改變UNION到UNION ALL沒有解決:( –

+0

你是否檢查你的數據集/ tablix是否受過濾器影響? –

回答

0

嘿,我會在這裏做幾件事情。

  1. 我將在單擊刷新字段後在SSRS(Visual Studio)中的查詢設計器中運行我的查詢。如果您沒有獲取所有數據,則在查詢中遇到問題。
  2. 我將刪除rdl數據文件,以確保您沒有任何緩存。
+0

他們沒有修復它:( –

+0

你是在查詢設計器中只獲取2行? – Hari

0

我想你給我可以看到我在SSRS 2008年的所有數據,我會建議你刪除該報告並重新創建它確保該報告指出,正確的數據源

樣本數據
0

首先,在sql server中驗證你的數據。有時候這些SP不會完全按照我們的意願去做,儘管你的查詢看起來很簡單,但我仍然會仔細檢查。如果這個輸出是你需要的,那麼我建議你重寫你的ssrs,確保你的數據源是正確的,而其他所有的東西都是jiving。 SSRS超級笨重!

0
  1. 要測試緩存問題,請在SQL中進行任何顯着更改以查看它是否經過。

  2. 測試任何RDL問題作出放過任何顯着的變化說頭,並運行報告

  3. 如果這些2測試通過OK,然後檢查數據集屬性(過濾器)

  4. 如果通過再檢查Tablix屬性(過濾器),然後Tablix原始可見性

  5. 檢查數據集屬性(查詢類型:確定它是否爲sp name = corrrect)。

  6. Check data SOURCE!所以它指向正確的服務器/ db

這是你的rdl還是別人的?

Ĵ

相關問題