对于我的报告,我需要选择从数据库动态访问哪些列。更precice:SSRS选择动态列
在数据库中的列被命名为这样的:
FCST_Sales_2014_Q4_with_SF
FCST_Sales_2015_Q1_with_SF
FCST_Sales_2015_Q2_with_SF
FCST_Sales_2015_Q3_with_SF
我需要的报告选择当前年份,季度,所以我使用的Now()
功能复合的表达我需要。例如:
=Year(Now())
而且
=Switch(
Month(Now()) = 1, 1,
Month(Now()) = 2, 1,
Month(Now()) = 3, 1,
Month(Now()) = 4, 2,
Month(Now()) = 5, 2,
Month(Now()) = 6, 2,
Month(Now()) = 7, 3,
Month(Now()) = 8, 3,
Month(Now()) = 9, 3,
Month(Now()) = 10, 4,
Month(Now()) = 11, 4,
Month(Now()) = 12, 4)
结果是2014
和4
这正是我需要的。如果我使用了以下内容:
=("Fields!FCST_Sales_" + CStr(Year(Now())) + "_Q" + CStr(Switch(Month(Now()) = 1, 1, Month(Now()) = 2,1,Month(Now()) = 3,1,Month(Now()) = 4, 2, Month(Now()) = 5,2,Month(Now()) = 6,2,Month(Now()) = 7,3,Month(Now()) = 8,3,Month(Now()) = 9,3,Month(Now()) = 10, 4, Month(Now()) = 11,4,Month(Now()) = 12,4)) + "_with_SF")
我得到正是我所需要的字符串(FCST_Sales_2014_Q4_with_SF
),但问题是,我有点不能使用.Value
操作。如果我将Sum()
和.Value
添加到我创建的表达式中,我收到错误消息,那.Value
不是String的成员。我使用的表达式是:
=Sum(("Fields!FCST_Sales_" + CStr(Year(Now())) + "_Q" + CStr(Switch(Month(Now()) = 1,1, Month(Now()) = 2,1,Month(Now()) = 3,1,Month(Now()) = 4,2, Month(Now()) = 5,2,Month(Now()) = 6,2,Month(Now()) = 7,3,Month(Now()) = 8,3,Month(Now()) = 9,3,Month(Now()) = 10, 4, Month(Now()) = 11,4,Month(Now()) = 12,4)) + "_with_SF").Value)
是否有解决此问题的方法?
,完美的工作,也是你的简化的表达是非常有益的。谢谢你的帮助。 – Maierlu 2014-10-09 06:08:27