Mein Aufgabe war ein Report mit vielen, vielen verschiedenen weltweiten Standorten und als Default die Top 5 einer KPI belegen.
Was sag ich - easy....
Und - easy - das Ding ist schnell entwickelt.
Zwei Datasets, eines für die Liste, eines für die Defaults - fertig, funktioniert!
Schaut man sich die Werte an - fällt die Zentrale immer aus dem Raster und verfälscht das Ergebnis der Top 5 - also habe ich meinem Kunden vorgeschlagen einen kleinen BOOL als Filter davor "mit Zentrale" ja/nein - dann kann der Anwender entscheiden.
Hätte ich das abschätzen müssen hätte ich 30 Minuten behauptet. Weit daneben!
Das Problem - Reporting Services aktualisiert die Defaults von Filtern nicht, auch wenn diese abhängig sind, wenn sich die verfügbaren Daten nicht ändern.
Was tun sprach Zeus?
Mann muss das Dataset zwingen sich zu ändern - nicht schön, aber machbar.
was ich getan habe ist den Bool Wert an beide Abfragen mit zu übergeben und dem Value-Feld der Liste vorne anzustellen. Damit ändert sich die verfügbare Liste und die default Liste gleichzeitig mit Änderung des BOOLs.
Also wenn ich vorher so was hatte:
Value - Label
1 - Stuttgart
2 - München
3 - Frankfurt
4 - Berlin
habe ich daraus so was gemacht:
Value - Label
mitZentrale_1 - Stuttgart
mitZentrale_2 - München
mitZentrale_3 - Frankfurt
mitZentrale_4 - Berlin
Value - Label
ohneZentrale_1 - Stuttgart
ohneZentrale_2 - München
ohneZentrale_3 - Frankfurt
ohneZentrale_4 - Berlin
Dadurch, das ich die Label nicht verändere bekommt der Anwender davon nichts mit und die Defaults werden gesetzt.
Dann noch das Präfix vor der Übergabe an das nächste Dataset mit Replace wegwerfen und alles ist gut.
Nicht 100% schön, aber ich habe keine Alternative gefunden - schade eigentlich.
Hier noch mal das ganze ausführlich und in englisch.
https://msbitips.wordpress.com/2015/01/28/ssrs-report-parameter-change-does-not-refresh-default-values-of-dependent-parameters/
Keine Kommentare:
Kommentar veröffentlichen