我有一些必须在SSRS上部署的工作报告。
我要添加的另一项自定义设置是自动将FromDate设置为今天-1个月,将ToDate设置为今天。

具体来说,我想用满足上述要求的零件代替波纹管:

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

提前致谢。

最佳答案

替换硬编码

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

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

对于“ToDate”,只需传递一个返回当前日期的公式
=Now

现在结果看起来像这样。
<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>

[更新]
看来我忘记为ToDate正确粘贴<ReportParameters>了;它已更新。
以上RDL是通过配置报告参数生成的。
这就是我在GUI中配置日期的方式。
  • FromDate:
  • ToDate:
  • 关于sql-server-2005 - SQL Reporting Services 2005-如何获取当前日期作为ReportParameter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/631150/

    10-09 05:39