2013-11-04 21 views
1

我有一個非常簡單的SQL查詢SQL和SSRS變量選擇 - 隱藏來自最終用戶的一些結果

Select distinct title from agents 
where 
title like '%Engineer%' 

這使得一些成果回來,我所希望做的是一些如何只顯示前1結果給SRSS報告的用戶,因爲這將是一個變量選擇,但是當選擇這個單個記錄時,它將包括搜索中的所有其他結果。

因此,基本上所有的結果都將從最終用戶隱藏,但他們實際上在做的是選擇從上述查詢返回的所有結果。

這可能嗎?

+1

這對我來說並不是很清楚...... – Szymon

+0

您是否試圖說當報告運行時,您只想顯示前1個結果作爲默認值,但是當用戶選擇其他值時,您想要顯示結果爲用戶做出的選擇? –

+0

因此,可以說我運行上面的查詢結果可能使 支持工程師 工程師支持 業務支持工程師 有出現如圖3分所示的結果,我只是想向用戶顯示的第一個結果,但一旦他們在選擇此該報告,它應該自動選擇其他結果,這應該是一個透明的過程。 – user2034164

回答

0

我會爲報告設置參數的默認值,並創建一個存儲過程是這樣的

CREATE Proc usp_ReportProc 
@Title NVARCHAR(30) = 'SomeDefaultValue' 
AS 
BEGIN 
    SET NOCOUNT ON; 

    IF @Title = 'SomeDefaultValue' 
    BEGIN 
     Select Top 1 title from agents 
    where title like '%Engineer%' 
    END 
    ELSE 
    BEGIN 
    Select distinct title from agents 
    where title IN (@Title) 
    END 
END 

調用此存儲過程從你的報告,當報告然最初,它會通過「SomeDefaultValue」由您在報告參數中設置並返回TOP 1行,但當用戶傳遞任何不同的值時,它將相應地顯示結果。您可以在用戶傳遞參數時進一步調整查詢以使用LIKE運算符。

相關問題