2009-01-27 121 views
2

我工作的報告中報告服務,爲什麼我在與無查詢報表參數的麻煩我想不通。SQL Reporting Services的2005 - 無查詢報告參數

我試圖讓當年和曾嘗試:

=YEAR(TODAY())  
=DATEPART("yyyy",TODAY())  

我也嘗試過,如今卻只有TODAY()

所有這些似乎打破我的報告年​​度下拉。我認爲如果有什麼不對,它就不會得到正確的默認值......但不是,它打破了整個領域。

有什麼想法?文章?

更新:
等待,等待,等待...最奇怪的事情。 Year參數是此報告的第二個參數。它變灰(沒有任何價值),直到我選擇第一個參數(即時我的情況「類別」)。我不知何故告訴年份參與者這樣做?或者SSRS 2005是否按順序處理參數?我以前從未注意到這一點。

更新2:
請所有評論

回答

2
=DateTime.Today.Year 

應該也可以。

編輯:布魯諾 - 我有相同的行爲,你所看到的。我創建了一個示例報告,其中包含沒有默認值的字符串第一個參數以及缺省值爲= DateTime.Today.Year的字符串第二個參數。當我有一個默認的順序中的第二個參數,它顯示爲空和禁用。

我能解決這個問題,2種方式:通過增加=的String.Empty的默認我的第一個參數的第一,第二個辦法是隻需更改參數的順序。

不知道這種行爲是通過設計或錯誤 - 但是就像你說的,我沒有注意到,要麼直到今天,當你在你的問題指出來。

2

嘗試:

=Year(Now) 

我不知道這是否是你所需要的,但它爲我工作。我用它來形成一個日期字符串,所以我用= Year(Now).ToString()。

+0

這兩個都殺死了這個領域。它不加載並變灰。 – BuddyJoe 2009-01-27 17:15:17

+0

我應該添加到「只是讓它工作」我已經在2009年手動鍵入5個報告中的非查詢默認值。這工作。 – BuddyJoe 2009-01-27 17:19:01

2

SSRS會按順序處理報告參數 - 如果您的參數之間存在依賴關係,則順序可能很重要。

從MSDN:「參數順序是 重要的,當你級聯 參數,或當你想顯示 用戶的默認值一個 參數他們選擇其他參數值 之前。」

因此,它會一直等到您的第一個參數的默認值或您輸入第一個參數的值,然後再處理下一個參數,等等。

http://msdn.microsoft.com/en-us/library/cc281392.aspx

0

我通過確保所有我的參數中至少有一些默認值,那麼您將不會遇到他們灰色的日期時間選擇器中發現的。因此,在datetime paremeter之前的每個參數都需要有一個(默認)值,否則它將不起作用。

0

由於評估參數的順序而引起的缺陷。

簡單的解決方法;在參數選項卡中,您可以更改參數的順序 - 這會將日期選擇器移動到列表頂部,然後在我的服務器上至少立即啓用。

有人提出了基於查詢默認值的日期過濾器的問題 - 如果您這樣做,您會注意到一個非常惱人的連鎖效應,即在日期變化時獲取屏幕刷新,然後纔有機會重新查詢報告。

相關問題