2016-05-31 11 views
0

Ich versuche einen ssrs-Ausdruck zu schreiben, der einen Parameterwert enthält, formatiert ihn in Zeitstempel und zeigt dann das regulatorische Jahr und Quartal an. Wenn der Parameter beispielsweise 01/01/2016 ist, sollte er den Parameter 2016-01-01 00:00:00 formatieren und dann von diesem Display das regulatorische Jahr und Quartal wie Q4 2015/2016 anzeigen. Meine Daten werden in einem Cube gespeichert, der den Zeitstempel verwendet, um das regulatorische Jahr und Quartal zu erhalten.SSRS-Ausdruck zum Abrufen von Quartal und Jahr aus dem Zeitstempelwert unter Verwendung von Cube-Daten

Antwort

0

Eine einfachere Möglichkeit wäre, alle Versionen des erforderlichen Werts in einer vollständigen Datumsdimension zu haben. Dies könnte dann die verschiedenen erforderlichen Formate zurückgeben.

Wenn das keine Option ist, würde ich versuchen, zuerst die Datumsteile in SQL zu erstellen. Ich finde, dass es einfacher ist, gegen die SSRS-Ausdruckssyntax zu schreiben. Auch wenn Sie dies im Bericht als Dataset erstellen und das Ergebnis als Ausdruck übergeben müssen.

ZB:

SELECT 
    CASE 
     WHEN DATEPART(M, GETDATE()) < '4' THEN CAST(YEAR(GETDATE()) -1 AS VARCHAR) + '/' + SUBSTRING(CAST(DATEPART(YYYY, GETDATE()) AS VARCHAR),3,2) 
     ELSE CAST(YEAR(GETDATE()) AS VARCHAR) + '/' + SUBSTRING(CAST(DATEPART(YYYY, GETDATE()) + 1 AS VARCHAR),3,2) 
    END 

Ergebnisse im laufenden Geschäftsjahr:

2016/17

+0

könnte so etwas statt umgesetzt werden? = IIF (Format (Parameter! PeriodFrom.Value, "yyyy-MM-dd 00:00:00") = [Geplanter Kalender]. [Tag-Zeitstempel]. [Tag-Zeitstempel], [Geplanter Kalender]. [Regulatorischer Zeitraum ] [Regulatory Quarter], 0) –