【发布时间】:2016-05-31 15:58:37
【问题描述】:
我正在尝试编写一个 ssrs 表达式,它接受一个参数值,将其格式化为时间戳,然后从该时间戳显示监管年份和季度。例如,如果参数是 01/01/2016,那么它应该将参数格式化为 2016-01-01 00:00:00,然后显示监管年份和季度,例如 2015/2016 年第四季度。我的数据存储在一个立方体中,该立方体使用时间戳来获取监管年份和季度。
【问题讨论】:
标签: expression ssrs-2012
我正在尝试编写一个 ssrs 表达式,它接受一个参数值,将其格式化为时间戳,然后从该时间戳显示监管年份和季度。例如,如果参数是 01/01/2016,那么它应该将参数格式化为 2016-01-01 00:00:00,然后显示监管年份和季度,例如 2015/2016 年第四季度。我的数据存储在一个立方体中,该立方体使用时间戳来获取监管年份和季度。
【问题讨论】:
标签: expression ssrs-2012
更简单的方法是在完整的日期维度中包含所需值的所有版本。这可以返回所需的不同格式。
如果这不是一个选项,我会先尝试在 SQL 中构造日期部分。我只是发现这与 SSRS 表达式语法相比更容易编写。即使您必须将其创建为报表中的数据集并将结果作为表达式传递。
例如:
SELECT
CASE
WHEN DATEPART(M, GETDATE()) < '4' THEN CAST(YEAR(GETDATE()) -1 AS VARCHAR) + '/' + SUBSTRING(CAST(DATEPART(YYYY, GETDATE()) AS VARCHAR),3,2)
ELSE CAST(YEAR(GETDATE()) AS VARCHAR) + '/' + SUBSTRING(CAST(DATEPART(YYYY, GETDATE()) + 1 AS VARCHAR),3,2)
END
当前财政年度的结果:
2016/17
【讨论】: