现在我有一个存储过程,其日期为integer
(140213),但在SSRS
内我需要将date parameter
内选定的日期转换为{{1}之前提到的。
现在我试图通过2个参数(日期和转换)来实现这一目标,一个允许您选择日期,第二个尝试将日期转换为int。在默认值的第二个参数中,我有:
integer
第二个参数设置为internal,数据类型设置为integer。
当我尝试运行此报告时,我收到错误
=FormatNumber(Format(Parameters!date.Value, "yyMMdd"),0)
有关如何实现这一目标的任何想法吗?
答案 0 :(得分:4)
最佳解决方案是修改存储过程以接受日期/日期时间参数。
这可以防止不必要的转换,并将单个数字年份的日期表示混淆为整数类型(例如2009-01-01
- > 90101
)
假设您无法控制存储过程定义,您仍然可以使用以下步骤实现所需。假设存在两个参数:
将ConvertedDate
数据类型设置为整数,参数可见性设置为内部
使用表达式将ConvertedDate
默认值设置为指定值:
=CInt(Format(Parameters!Date.Value, "yyMMdd"))
ConvertedDate
参数值传递给存储过程。具有Date
选择和ConvertedDate
值的示例报表输出: