我有一些必须在SSRS上部署的工作报告。
我要添加的另一项自定义设置是自动将FromDate设置为今天-1个月,将ToDate设置为今天。
具体来说,我想用满足上述要求的零件代替波纹管:
<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>
提前致谢。
最佳答案
替换硬编码
[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正确粘贴
<ReportParameters>
了;它已更新。以上RDL是通过配置报告参数生成的。
这就是我在GUI中配置日期的方式。
关于sql-server-2005 - SQL Reporting Services 2005-如何获取当前日期作为ReportParameter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/631150/