0

我SSRS報告顯示的日期範圍(2個參數)和一個被稱爲「MeterNumber」字段的多值可選參數,以顯示所有值。SSRS - 默認如果參數留空

我要的是多選擇參數的默認值來顯示所有的值,直到用戶指定列表中的一個值。

我試着通過設置常規選項卡中的參數屬性設置爲「允許多個值」這樣做,並可用和默認值等於從同一數據集相同的值字段,但沒有去。

有什麼想法?

+0

你設置'@ StartDate'和'@ EndDate'參數的默認值? –

+0

@alejandrozuleta是的。 @ StartDate默認爲月份的第一天,@ EndDate默認爲月份的最後一天。 – Byronyk

回答

0

您可以使用填充參數的可用值相同的數據集,以填充參數的默認值。

則默認情況下,所有的值當用戶第一次打開報告選擇。

+0

這就是我的當前參數。如果這有幫助,這是我的數據集查詢。有問題的參數是MeterNumber: SELECT AC.MeterNumber,AC.AccountName,AMR.MeterRead,AMR.ReadDate,AMR.CorrectedMMBTU,AMR.AccountID FROM tblAccountMeterRead AMR \t JOIN tblAccount AC \t ON AC.AccountID = AMR.AccountID WHERE AMR.ReadDate BETWEEN @ StartDate AND @ EndDate AND AMR.MeterRead <>'0' – Byronyk

+0

查詢無關緊要,如果您將相同的數據集用於可用值的默認值,則所有的值都應該被默認選中。在你的問題中沒有提到你必須做的其他事情。你可以添加一些你的參數屬性頁面的截圖嗎? –

0

如果你的日期開始和日期結束爲空或null您可以指定最小日期和最大日期在後端(記得在SQL最小日期爲1/1/1753 12:00:00 AM,最大日期是12/31/9999 11:59:59 PM所以你的日期格式應該是這樣的那)。所以當它傳遞給你的參數時,它將獲得在最小開始日期和最大結束日期之內的所有數據。

這是你將如何在C#中

DateTime dateStart = SqlDateTime.MinValue.Value; 

和最大日期指定分鐘日期時間

DateTime dateEnd = SqlDateTime.MaxValue.Value; 
0

你有MeterNumber任何空白和/或空值的數據集?這可能會導致參數值出現問題。由於你的情況你需要多個值,那麼你不能有空值。只要確保允許空白值(「」)和允許多個值被選中。然後,確保在MeterNumber列中沒有NULL值。如果你這樣做,然後將轉換爲空字符串,即ISNULL(AC.MeterNumber, '') as MeterNumber