2017-01-23 115 views
0

我正在使用SharePoint列表類型的嵌入式數據源。按月設置的過濾器數據

我會參數,用戶可以修改,將按月過濾數據集。我已經看到了一些例子,但他們都使用SQL查詢,或者只在確切日期而不是月份進行過濾。

我添加了一個參數ParamMonth,並給它數據類型的日期/時間。我可以看到這增加了一個下拉框給我的報告,這正是我想要的。理想情況下,我想添加所有12個月的名稱或類似的名稱,但我不知道數據如何超過一年後會如何運作。現在,我已經添加了我的報告參數,我需要將其添加到我的數據集進行過濾。這是我卡住的地方。

回答

0

一個簡單的方法可能是創建一個參數類型Integer並設置Available Values選項卡中的所有月份如下(我只是設置五個月爲例)。

enter image description here

然後去DataSet Properties/Filter選項卡,使用下面的設置。

enter image description here

爲了表達應用:

=MONTH(Fields!Date.Value) 

哪裏Date是,你將使用一個月來過濾領域。在Value你必須使用:

=Parameters!Month.Value 

UPDATE:提供一年的選擇。

最好的方法是從DataSet中獲取可用的值,在這種情況下是您的SP列表。

只需創建與現有年數據集的計算的字段(也可以是SP清單數據集的副本),稱之爲calculatedYear及用途:

=YEAR(Fields!Date.Value) 

現在創建Intenger數據類型的年份參數,並將此設置:

enter image description here

哪裏DataSet15是與現有的飼料多年的參數數據集名稱。

然後,只需添加其他過濾器在您的數據集:

enter image description here

注意,您將需要兩個數據集一個獲得可用年 其他需要過濾的數據集。

讓我知道這是否有幫助。

+0

我有類似的東西,但我沒有使用我的參數作爲類型整數。我使用了文本並拼寫每個月並使用以下表達式:= MonthName(Month(Fields!fieldname.Value))。我將遇到的問題是,我將如何處理2016年,2017年1月的所有數據......等等。我採取的下一個邏輯步驟是添加一年參數,並遵循相同的步驟,但這看起來很混亂。有沒有一種方法可以使數據更具動態性?看起來我不能將表達式添加到可用字段中。 – HiTech

+0

@HiTech,我已經更新了我的答案,試試看。 –