Dies ist für eine Anwendung, die Daten dynamisch für Berichte festlegt und sie rendert.
Ich habe eine MDX-Abfrage für einen Bericht, der auf einem Parameter beruht. Die Abfrage lautet:
%Vor%Wenn dies im Berichtsabfrage-Designer ausgeführt wird, wird ein Wert ordnungsgemäß zurückgegeben. Wenn dies jedoch im visuellen Basiscode ausgeführt wird, gibt es nichts zurück. Hier ist der wichtige Teil meines Codes:
%Vor%Ich weiß, dass die Verbindungszeichenfolge funktioniert, weil alle anderen Datensätze dieselbe verwenden. Ich weiß, dass der Befehl mit Breakpoints richtig ist. Ich weiß, dass der Wert des Parameters richtig ist und Breakpoints verwendet werden. Ich weiß, dass der Code insgesamt funktioniert, weil er mit jedem Dataset funktioniert, mit dem ich ihn getestet habe. Bei Verwendung von Breakpoints scheint alles so zu funktionieren wie bei anderen Datasets, aber dann gibt es einfach keine Werte zurück.
Die daraus resultierende Tabelle hat eine korrekt benannte Spalte ([Datum]. [Jahr]. [Jahr]. [MEMBER_CAPTION]), hat aber keine Zeilen. Der zurückgegebene Wert sollte eine einzelne Zeile mit dem Jahr darin sein.
Ich habe etwas Ähnliches in C # gemacht.
Wenn Sie Zugriff auf den Dimensions- und Hierarchienamen haben, können Sie eine generische Abfrage wie diese haben:
%Vor%Beachten Sie, dass Sie dem Befehl den Parameter @Hierarchy hinzufügen müssen, bevor Sie die Abfrage ausführen. Der Wertausdruck für das berechnete Element enthält einen kleinen Trick. Wenn Sie einen Hierarchieausdruck an StrToMember () übergeben, wird das Standardelement aus dieser Hierarchie zurückgegeben. Im Standardelement können Sie die Funktion HIERARCHY verwenden, um rückwärts zu arbeiten, um die Hierarchie zu erhalten. Aus der Hierarchie können Sie den CURRENTMEMBER und seine MEMBER_CAPTION-Eigenschaft abrufen.
Wenn Sie in Ihrem Beispiel eine für die Hierarchie spezifische Abfrage wünschen, können Sie Folgendes verwenden:
%Vor%Tags und Links visual-studio ssas mdx vb.net reporting-services