2016-09-13 239 views
2

我知道這裏已經有一些問題了,但我覺得我有點不同。SSRS根據另一個參數設置參數值

我已經構建了一個基於日期範圍的報表,用戶可以使用兩個日期參數(DateFrom,DateTo)指定日期範圍。不過,我想要一個提供預定義日期範圍的下拉菜單,例如「過去30天」,「過去60天」,「過去90天」,「上個月」。

我已創建用於產生這些行的數據集,例如行會是: 標籤= 「Last30Days」,DateFrom = 2016年8月15日,DateTo = 2016年9月13日

基本上,我想要使用流程如下: 用戶加載報告,預定義日期範圍參數默認爲標籤「手動」值NULL。兩個日期字段是空的。用戶可以選擇將自己的日期範圍指定爲他們想要的任何內容,也可以使用下拉菜單並選擇預定義的日期範圍,選擇該日期範圍時,它將填充日期參數。

這很容易實現嗎?我以前使用級聯參數,但不是真的這樣。我在想,當我輸入這個時,我想知道我是否可以使用某種表達式......比如,當選擇下拉選項時,將參數設置爲這些值......?編輯: 因此,我能夠得到它的工作。我將可用值(標籤/值匹配)添加到「Last [30 | 60 | 90]天」,「上個月」和「手動」的預設下拉列表中。我將默認設置爲「手動」。我向預設日期數據集添加了一個參數,並將其指向「PresetDates」參數。然後我設置兩個日期參數以將數據集用作其默認值。現在,當您使用下拉菜單時,它會像我想要的那樣填充兩個日期參數...但如果嘗試並在填充後選擇另一個,則它們不會更改...

+0

您可以使用日期範圍參數的默認值財產來填充參數使用下拉列表的默認值。但是如果你的用戶指定了日期,參數將被填充。讓我知道如果你需要進一步的幫助。 –

+0

@alejandrozuleta我剛剛完成嘗試,當你評論。它「有點作品」,見我在OP中的編輯。它使用我想要的值填充參數,但如果嘗試更改下拉列表,則日期參數中的值不會更改。 – chadwin

+0

如果用戶填充參數並且下拉列表未設置爲**手動**,會發生什麼情況?這將是範圍,在下拉列表中指定或在日期參數中指定?} –

回答

3

不幸的是,由於SSRS中的「功能部件」爲 BUG ,因此這種方式不適用。

微軟CLOSED BUG 功能爲 我們恨我們的客戶 工程按設計(儘管這是愚蠢的)。

https://connect.microsoft.com/SQLServer/feedback/details/268032/default-does-not-get-refreshed-for-cascading-parameters

這裏是一個可能的答案,但我不認爲它會在你的情況下工作:

http://www.bp-msbi.com/2011/04/ssrs-cascading-parameters-refresh-solved/

+0

是的,我發現我正在研究其他論壇/網站。我找到了一個解決方案,但它需要兩個可見參數,其可用值等於由PresetDates參數過濾的數據集返回的數據。然後將真正的DateFrom DateTo設置爲這兩個新參數....這是可行的,因爲當您更改下拉列表時,它現在使DateFrom DateTo值無效(不在可用值列表中)並強制刷新參數。 ..但我不想混淆用戶額外的參數,他們不使用。大聲笑。 – chadwin

相關問題