2017-01-23 4 views
0

Ich verwende eine eingebettete Datenquelle vom Typ SharePoint-Liste.Filterdatensatz nach Monat

Ich würde einen Parameter, den ein Benutzer ändern kann, die den Datensatz nach dem Monat filtern wird. Ich habe ein paar Beispiele gesehen, aber alle verwenden entweder eine SQL-Abfrage oder filtern nur am genauen Tag anstatt im Monat.

Ich habe einen Parameter ParamMonth hinzugefügt und gab ihm den Datentyp Date/Time. Ich kann sehen, dass eine Drop-Down-Box zu meinem Bericht hinzugefügt wird, was genau das ist, was ich möchte. Idealerweise würde ich gerne den Namen aller 12 Monate oder etwas ähnliches hinzufügen, aber ich weiß nicht, wie das funktionieren wird, wenn die Daten ein einzelnes Jahr überschreiten. Jetzt, da ich meinen Berichtsparameter hinzugefügt habe, muss ich ihn zu meinem Datensatz hinzufügen, um ihn zu filtern. Hier stecke ich fest.

Antwort

0

Ein einfacher Weg könnte sein, einen Parametertyp Integer zu erstellen und alle Monate in Available Values Tab wie folgt einzustellen (ich habe gerade fünf Monate zum Beispiel).

enter image description here

Dann gehen Sie auf die Registerkarte DataSet Properties/Filter und die folgenden Einstellungen verwenden.

enter image description here

Zur Expression Verwendung:

=MONTH(Fields!Date.Value) 

Wo Date das Feld, das Sie von Monat filtern verwenden werden. In Value müssen Sie verwenden:

=Parameters!Month.Value 

UPDATE: Jahre Auswahl sorgen.

Der beste Ansatz hierfür ist das Abrufen der verfügbaren Werte aus einem DataSet, in diesem Fall Ihrer SP-Liste.

Nur ein berechnetes Feld in Ihrem Datensatz mit verfügbaren Jahren schaffen (es kann eine Kopie der SP-Liste Dataset sein), nennen Sie es calculatedYear und Verwendung:

=YEAR(Fields!Date.Value) 

jetzt ein Jahr Parameter von Intenger Datentyp erstellen und diese Einstellungen festgelegt:

enter image description here

Wo DataSet15 der Dataset-Name ist, die Ihren Parameter mit den zur Verfügung stehenden Jahre Feeds.

Dann fügen Sie einfach einen weiteren Filter in ihrem Datensatz:

enter image description here

Hinweis Sie einen benötigen zwei Datensätze die verfügbaren Jahre und andere der Datensatz Sie filtern benötigen.

Lassen Sie mich wissen, ob dies hilft.

+0

Ich hatte etwas ähnliches, außer dass ich meinen Parameter nicht als Typ Integer verwendet habe. Ich habe jeden Monat Text geschrieben und geschrieben und diesen Ausdruck verwendet: = Monatsname (Monat (Felder! Feldname.Wert)).Das Problem, auf das ich stoßen werde, ist, wie ich mit allen Daten umgehen werde, die im Januar für 2016, 2017, ... usw. sind. Der nächste logische Schritt war ein Jahres-Param hinzuzufügen und die gleichen Schritte zu befolgen, aber das scheint chaotisch zu sein. Gibt es eine Möglichkeit, die Daten dynamischer zu gestalten? Es sieht nicht so aus, als könnte ich den verfügbaren Feldern Ausdrücke hinzufügen. – HiTech

+0

@HiTech, ich habe meine Antwort aktualisiert, probieren Sie es aus. –