2016-05-31 55 views
0

我正在尝试编写一个ssrs表达式,该表达式需要一个参数值,将其格式化为时间戳记,然后从该时间戳记中显示监管年度和季度。例如,如果参数是01/01/2016,那么它应该将参数格式设置为2016-01-01 00:00:00,然后从中显示监管年度和季度,例如2015/2016年第四季度。我的数据存储在使用时间戳获取监管年度和季度的多维数据集中。SSRS表达式使用多维数据集数据从时间戳值中获得季度和年度

回答

0

执行此操作的更简单方法是在完整的日期维度中具有所需值的所有版本。这可以返回所需的不同格式。

如果这不是一个选项,我会尝试在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

+0

难道这样的事情来代替实施? = IIF格式(参数!PeriodFrom.Value,“yyyy-MM-dd 00:00:00”)= [计划日历]。[白天时间戳]。[白天时间戳],[计划日历]。[监管期限] [监管区],0) –

相关问题