我有数据立方体层次结构如下。
我可以访问突出显示的节点
SELECT [Calendar].[Report Days].[All Members].[All].[WantInReport].[Yesterday].LastChild ON 0
我尝试在Execute SQL task
中运行此查询,并将输出分配给SSIS变量。但问题是列名正在改变。我也尝试为列名设置别名。我怎样才能做到这一点?
答案 0 :(得分:3)
您可以使用查询范围的计算度量来创建别名。例如,我使用的是AdventureWorks多维数据集。以下查询将为我提供的成员提供日历层次结构中的最后一个子项。
SELECT [Date].[Calendar].[All Periods].[CY 2014].[H1 CY 2014].lastchild on 0
FROM [Adventure Works]
正如您所说,由于最后一个孩子随着时间的推移而变化,会员名称会发生变化,因此需要对其进行别名以提供常量名称。为此,请创建计算度量。您将逻辑移动到WITH MEMBER语句并获取成员标题而不是成员,然后在0轴上使用新计算的度量。
WITH MEMBER [Measures].[MyLastChild] AS
[Date].[Calendar].[All Periods].[CY 2014].[H1 CY 2014].LASTCHILD.MEMBER_CAPTION
SELECT {Measures.MyLastChild} on 0
FROM [Adventure Works]
所以你的查询就像
WITH MEMBER [Measures].[Last Day] AS
[Calendar].[Report Days].[All Members].[WantInReport].[Yesterday].LastChild.MEMBER_CAPTION
SELECT [Measures].[Last Day] ON 0
FROM [MyCube]
如果您在执行MDX查询时遇到问题并将结果返回到SSIS,那么您有几个选择。