2009-04-17 12 views
0

Im Moment habe ich eine Abfrage, die wie folgt aussieht:Verwenden von MDX-Parameter in Report Builder 2.0

SELECT
NON EMPTY ([Measures].[TOTAL]) ON 0,
NON EMPTY (([ENROLL DATE].[CALENDAR].[YEAR].["+ Parameters!EnrollDate.Value +"] * [DIM ENROLLMENT].[ENROLLMENT].[ENROLLMENT PROG].ALLMEMBERS)) ON 1

FROM (SELECT (([DIM ENROLLMENT].[ENROLLMENT].[TERMINATION REASON].[Still Enrolled])) ON 0 FROM [NapaCHI]);

Der fett Abschnitt kommt aus den Parametern se ction wo ich die Parameter manuell mit Label = 2006 and Value = 2006 angegeben habe. Ich habe fast jede akzeptable Syntax ausprobiert und über jeden Artikel darüber gelesen und kann es scheinbar nicht zum Laufen bringen, ob ich die Werte selbst definiere oder eine separate MDX-Anweisung verwende, die bestimmte nicht leere Jahre und (NULL) für das Aggregat auswählt.

Hilfe bitte, es macht mich wahnsinnig! Danke.

Antwort

0

Ihr Ausdruck sieht unvollständig aus, Sie müssten es mit und beginnen, = es zu signieren und zu zitieren. So etwas wie die folgenden

="SELECT 
NON EMPTY ([Measures].[TOTAL]) ON 0, 
NON EMPTY (([ENROLL DATE].[CALENDAR].[YEAR].[" + Parameters!EnrollDate.Value + "] * [DIM ENROLLMENT].[ENROLLMENT].[ENROLLMENT PROG].ALLMEMBERS)) ON 1 

FROM (SELECT (([DIM ENROLLMENT].[ENROLLMENT].[TERMINATION REASON].[Still Enrolled])) ON 0 FROM [NapaCHI]);" 

Sie können auch Probleme mit Datentypen haben, mögen Sie vielleicht entweder die .LABEL Eigenschaft des Parameters verwenden oder explizit den Wert in eine Zeichenfolge zu konvertieren. Wenn nichts davon funktioniert, wäre es hilfreich zu wissen, welchen Fehler Sie bekommen.

+0

Ich bekomme eigentlich keinen Fehler, die Abfrage gibt einfach nichts zurück. Ich denke, dass Sie mit den Datentypen zwar auf dem richtigen Weg sind, aber ich bin mir nicht sicher, was es dort erwarten würde. – ajdams

+0

Es könnte dann Datentypen sein. Wenn Ihr Parameter ein vollständiges Datum übergibt, könnte er sich auf [Datum der Einschreibung], [Kalender], [Jahr], [01-01-2009] anstatt auf [Datum der Einschreibung], [Kalender], [Jahr] erweitern. . [2009] und dies würde zu einer leeren Zeilenachse führen. –

0

Ich denke, das MDX ist erforderlich:

NON EMPTY (([ENROLL DATE].[CALENDAR].[YEAR].[Calendar " + Parameters!EnrollDate.Value + "] 

Oder Sie könnten Sie die tatsächliche MDX-Sprache wie so:

[ENROLL DATE].[CALENDAR].[YEAR].&[" + Parameters!EnrollDate.Value + "-01-01T00:00:00] 

eine dieser beiden funktionieren sollte.