2009-03-10 9 views
3

Ich habe einige Arbeitsberichte, die auf SSRS bereitgestellt werden müssen. Eine weitere Anpassung, die ich hinzufügen möchte, ist die automatische Auswahl von FromDate als Heute - 1 Monat und ToDate als Heute.SQL Reporting Services 2005 - So erhalten Sie das aktuelle Datum als ReportParameter

Insbesondere mag ich das Fragment unten mit einem Stück ersetzen, die die oben genannten Anforderungen zu erreichen:

<ReportParameter Name="FromDate"> 
    <DataType>String</DataType> 
    <DefaultValue> 
    <Values> 
     <Value>[Date].&amp;[2008-09-26T00:00:00]</Value> 
    </Values> 
    </DefaultValue> 
    <Prompt>From Date</Prompt> 
    <ValidValues> 
    <DataSetReference> 
     <DataSetName>FromDate2</DataSetName> 
     <ValueField>ParameterValue</ValueField> 
     <LabelField>ParameterCaption</LabelField> 
    </DataSetReference> 
    </ValidValues> 
</ReportParameter> 
<ReportParameter Name="ToDate"> 
    <DataType>String</DataType> 
    <Prompt>To Date</Prompt> 
    <ValidValues> 
    <DataSetReference> 
     <DataSetName>ToDate</DataSetName> 
     <ValueField>ParameterValue</ValueField> 
     <LabelField>ParameterCaption</LabelField> 
    </DataSetReference> 
    </ValidValues> 
</ReportParameter> 

Vielen Dank im Voraus.

Antwort

8

Ersetzen Sie die hartcodierte

[Date].&amp;[2008-09-26T00:00:00] 

Formel

=DateAdd("m", -1, Now) 

Für "ToDate", nur eine Formel übergeben, die das aktuelle Datum zurückgibt

=Now 

nun das Ergebnis etwas aussieht so was.

<ReportParameters> 
    <ReportParameter Name="FromDate"> 
     <DataType>DateTime</DataType> 
     <DefaultValue> 
     <Values> 
      <Value>=DateAdd("m", -1, Now)</Value> 
     </Values> 
     </DefaultValue> 
     <AllowBlank>true</AllowBlank> 
     <Prompt>FromDate</Prompt> 
    </ReportParameter> 
    <ReportParameter Name="ToDate"> 
     <DataType>DateTime</DataType> 
     <DefaultValue> 
     <Values> 
      <Value>=Now</Value> 
     </Values> 
     </DefaultValue> 
     <AllowBlank>true</AllowBlank> 
     <Prompt>ToDate</Prompt> 
    </ReportParameter> 
</ReportParameters> 

[UPDATE]
Es sieht aus wie ich <ReportParameters> richtig einfügen für ToDate vergessen haben; es ist aktualisiert. Die obige RDL wurde durch Konfigurieren von Berichtsparameter generiert. So habe ich das Datum in der GUI konfiguriert.

  • Fromdate:
    alt text

  • ToDate:
    alt text

+0

@Sung, Es funktioniert nicht. Einige weitere Elemente: Ich versuche, die Berichte in einer TFS-Instanz bereitzustellen (mithilfe der Reporting Services für diese Instanz) und das tatsächliche Wertfeld sieht folgendermaßen aus: [Datum]. [Datum]. & [2008-09-26T00: 00: 00] MariusCC

+0

@MariusCC: Die Antwort wurde aktualisiert. – Sung

1

Sie kippe verwenden tatsächlich die TSQL Datumsformate ahve Sie die .net Methoden zu verwenden:

=Now() 

=DATEADD("m", -1, now()) 
Verwandte Themen