SQL Reporting Services 2005 - 如何获取当前日期作为报表参数

发布于 2024-07-15 00:22:32 字数 1160 浏览 6 评论 0原文

我有一些必须部署在 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>

提前致谢。

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].&[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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

若相惜即相离 2024-07-22 00:22:32

将硬编码替换

[Date].&[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 正确粘贴 ; 它已更新。
上述RDL是通过配置报告参数生成的。
这就是我在 GUI 中配置日期的方式。

  • 发件日期:
    alt text

  • 截止日期:
    alt text

Replace the hard-coded

[Date].&[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

瑶笙 2024-07-22 00:22:32

实际上,您不能使用您拥有的 TSQL 日期格式来使用 .net 方法:

=Now()

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

You actually cant use the TSQL Date formats you ahve to use the .net methods:

=Now()

=DATEADD("m", -1, now())
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文