SQL Reporting Services 2005 - How to get current date as a ReportParameter

MariusCC picture MariusCC · Mar 10, 2009 · Viewed 25.3k times · Source

I have some working reports that must be deployed on SSRS. One more customization that I want to be added is to automatically select the FromDate as today - 1 month, and ToDate as today.

Specifically, I want to replace the fragment bellow with a piece that accomplish the requirements above:

 <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>

Thanks in advance.

Answer

dance2die picture dance2die · Mar 10, 2009

Replace the hard-coded

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

to formula

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

For "ToDate", just pass a formula that returns current date

=Now

Now the result looks something like this.

<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]
It looks like I have forgotten to paste <ReportParameters> correctly for ToDate; it's updated. Above RDL was generated by configuring Report Parameter. This is how I have configured date in GUI.

  • FromDate:
    alt text

  • ToDate:
    alt text