0

我對Reporting Services中的參數值有疑問。我有兩個參數:參數值Reporting Services

@OrdersMonth 
@OrdersPrevMonth 

而且每一個有值:

[Orders].[Month].[January 2014] 

等每個月。 對於第二個參數我有同樣的值,但不同的維度:

[Orders].[PrevMonth].[January 2014] 

等每個月。

問題是我的參數@OrdersMonth必須可見並且參數@OrdersPrevMonth必須隱藏,但是當用戶選擇@OrdersMonth的值時,最後一個值(2014年1月)也必須更新,但當然也可以其維度。

[Orders].[Month].[January 2014]  -> visible 
[Orders].[PrevMonth].[January 2014] -> hidden 

任何想法將不勝感激。謝謝

回答

0

您將需要使@OrdersPrevMonth依賴於@OrdersMonth的基於查詢的參數。當您更改@OrdersMonth時,@OrdersPrevMonth的值將被重新提取。

爲此,您需要將@ OrdersPrevMonth的選項設置爲「從查詢中獲取數據」。在SP或查詢中,您需要引用@OrdersMonth作爲參數。

爲了測試這一點,你可以創建另一個數據集,並設置查詢或存儲過程simiuliar到:

CREATE PROCEDURE GetOrdersPrevMonthParameters 
(
    @OrdersMonth NVARCHAR(75) 
) 
AS 

DECLARE @Result NVARCHAR(75) 
SET @Result= 
    CASE 
     WHEN @OrdersMonth='[Orders].[Month].[January 2014]' THEN '[Orders].[PrevMonth].[January 2014]' 
     WHEN @OrdersMonth='[Orders].[Month].[March 2014]' THEN '[Orders].[PrevMonth].[March 2014]' 
     ELSE 
      NULL 
    END 
SELECT @Result 

注意:您可能需要使用DATETIME場,而不是一個長期冗長的CASE語句來制定programtic解決方案爲此,但爲了簡單起見,我正在使用案例。

接下來,使您的@OrderInPrevMonth參數依賴於GetOrdersPrevMonthParameters數據集。 SSRS會自動將此參數標記爲@OrdersMonth的casecade,因爲它是@OrdersPrevMonth查詢的必需參數。

+0

你能給我一個例子,我怎麼能用上面的值做我的查詢。 – user3449064

+0

用簡單的例子編輯 –