【问题标题】:SQL Reporting Services 2005 - How to get current date as a ReportParameterSQL Reporting Services 2005 - 如何获取当前日期作为 ReportParameter
【发布时间】:2009-03-10 16:38:28
【问题描述】:

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

提前致谢。

【问题讨论】:

    标签: sql-server-2005 reporting-services rdl


    【解决方案1】:

    替换硬编码

    [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 正确粘贴 &lt;ReportParameters&gt;;它已更新。 以上 R​​DL 是通过配置报表参数生成的。 这就是我在 GUI 中配置日期的方式。

    • 发件人:

    • 截止日期:

    【讨论】:

    • @Sung,它不起作用。更多元素:我正在尝试在 TFS 实例中部署报告(使用该实例的报告服务),实际值字段如下所示:[Date].[Date].&[2008- 09-26T00:00:00]
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多