2012-12-20 78 views
0

我正在使用T-SQl在SSRS中創建報告。 場景:我有3列需要SSRS參數幫助

- time_a 
- time_b 
- Delta 

德爾塔示出之間的差(time_a - time_b)

所以增量具有負以及正值。我需要在SSRS中創建一個參數,以便用戶可以選擇正面或負面或兩個值。

select 
case 
    when (time_a - time_b) > 0 
    then 'positive' 
    when (time_a - time_b) < 0 
    then 'negative' 
end as differ 
from time_entry 

在這裏,我堅持如何在SSRS中創建參數。 (如在@differ ???)

回答

1

設置您的@Delta參數:

-1 Negative 
0 All 
1 Positive 

找出差異,並選擇上取決於區別你想:

SELECT time_a - time_b AS Delta 
FROM time_entry 
WHERE ((@Delta = 0) 
OR ((@Delta < 0) AND (time_a - time_b < 0)) 
OR ((@Delta > 0) AND (time_a - time_b > 0)) 
+0

感謝這個工作,但有一個問題。我設置參數-1 Negative和1 Positive,但我希望我可以一起選擇負值和正值,而不設置0 ALL的值。基本上我只是想在SSRS中將參數顯示爲Negative,Positive或選擇ALL.So當我做選擇所有時,它會給我錯誤「在預期條件的上下文中指定的非布爾類型的表達式,靠近','。 「 – SQllearner

+0

它看起來像您在SSRS參數中將ALL設置爲參數值。確保你的值是-1,0,1。參數的標籤分別是「Negative」,「ALL」,「Positive」 –