Reporting services SSRS 2008-如何将2个或更多年份参数链接到1
经过一些研究,我发现混合参数是一个流行的话题,但我还没有找到一个解决这个特定情况的方法。简而言之,我有3个来自不同数据集的参数,都是同一年的数据,我想将它们(可视化地)混合到1中,以消除报告最终用户的冗余 在“参数属性”中的“可用值”中,所有值均取自数据集(隐藏),而“值字段”则取自相应的隐藏数据集 当我“显示隐藏数据集”并进入每个隐藏数据集的“文本模式”时,这些是3Reporting services SSRS 2008-如何将2个或更多年份参数链接到1,reporting-services,parameters,unique,mdx,ssrs-2008-r2,Reporting Services,Parameters,Unique,Mdx,Ssrs 2008 R2,经过一些研究,我发现混合参数是一个流行的话题,但我还没有找到一个解决这个特定情况的方法。简而言之,我有3个来自不同数据集的参数,都是同一年的数据,我想将它们(可视化地)混合到1中,以消除报告最终用户的冗余 在“参数属性”中的“可用值”中,所有值均取自数据集(隐藏),而“值字段”则取自相应的隐藏数据集 当我“显示隐藏数据集”并进入每个隐藏数据集的“文本模式”时,这些是3成员[Measures].[ParameterValue]作为: [Time].[Financial Year].CURRENTM
成员[Measures].[ParameterValue]作为
:
[Time].[Financial Year].CURRENTMEMBER.UNIQUENAME
[Financial Period].[FP - Year].CURRENTMEMBER.UNIQUENAME
[Time exit].[Financial Year Exit].CURRENTMEMBER.UNIQUENAME
当您查看该值时,它们具有以下输出(相应):
A.因此,在我看来,由于每个[Year]
参数值的“根”不同,我需要在每个隐藏的数据集中创建一个数据集或一个成员,以替换此[2017]
。这是“可行的”吗?如果是的话,还有关于如何做的指导吗
B.如果不是,另一个结果也是可以接受的:最终用户将需要生成大部分本年度
和本年度-1
。为了解决这个问题,我制作了一个与FP-Year内容相同的模板“Year”DS,并添加了以下成员:
Member [Measures].[Last Year] as 'YEAR(NOW())-1'
Member [Measures].[Current Year] as 'YEAR(NOW())'
我将它们插入到SELECT和Previed中,它显示了2017和2016年的两个新列。然后我去改变了PF Year参数的DS,value和label,得到了一个错误。有什么建议吗
有什么建议吗
EDIT1:我已经解决了B.并找到了解决方案,我只是为每个参数创建了以下两个默认值:
本年度:=“[时间].[财政年度].&[“+CStr(年(现在()))+”]”
去年:=“[时间][财政年度].&[”+CStr(年份(现在())-1)+“]”
然而,即使有了这个结果,我认为它将最大限度地减少最终用户的操作数量,我仍然希望显示1个参数,而不是3个
EDIT2&partial solution我为A找到了另一个解决方案。,这并不完全是我想要的,但它完成了工作
[CurrentYear]
和[LastYear]
CStr(Parameters!Year.Value(0))
和CStr(Parameters!Year.Value(1))
。示例:=“[Year exit].[Financial Year exit].&[”+CStr(Parameters!Year.Value(0))+“]”
李>
当前年份
和去年
@[财政年度]
作为我的主要参数,其他参数具有以下默认值:
@[FP-年]:
=“[财政期间].[财政年度].[财政年度].&[“+CStr(参数!财政年度(0))+””
=“[财政期间].[FP-年].[FP-年].&[“+CStr(参数!财政年度(1))+”]”
@[财政年度退出]:
=“[年度退出][财政年度退出]。&[“+CStr(参数!财政年度(0))+””
=“[年度退出].[财政年度退出].&[“+CStr(参数!财政年度(1))+”]”
瞧,结果是:
我建议两种方法:
1:SSRS:添加一个不可见参数(即CurrentYear),并在MDX查询中运行以下命令:
StrToMember('[Time].[Financial Year].&[' +@CurrentYear + ']')
2:MDX:为每个层次结构添加动态计算成员:
member [Time].[Financial Year].[Current Year] as
StrToMember('[Time].[Financial Year].&[' + Format(Now(),'yyyy') + ']')
有关更多详细信息,请参阅。Dyakuyu Dan,我终于达到了我需要的结果(请参见EDIT4),但为了获得EDIT3,我认为您的方法在技术上更为正确。谢谢
member [Time].[Financial Year].[Current Year] as
StrToMember('[Time].[Financial Year].&[' + Format(Now(),'yyyy') + ']')