Excel - 以单元格值为参数

时间:2017-04-19 00:20:47

标签: excel parameters ssas mdx

我正在尝试通过Excel执行MDX查询,使用单元格值作为参数值。请问这个查询有什么帮助吗?

WITH MEMBER
[Measures].[SubDrillDown] AS [Statement Financial Analysis].[Report      Framework].PARENT_UNIQUE_NAME
SELECT NON EMPTY {
[Measures].[SubDrillDown],
[Measures].[Budget Opening],
[Measures].[Budget Closing], 
[Measures].[Actuals Opening],
[Measures].[Actuals Closing],
[Measures].[Budget],
[Measures].[Actuals],
[Measures].[Commitments Closing],
[Measures].[Job Budget],
[Measures].[Job Budget Closing],
[Measures].[Job Annual Plan],
[Measures].[Job Annual Plan Closing],
[Measures].[Job Commitments]

} ON COLUMNS, 
NON EMPTY { 
(
[Statement Financial Analysis].[Report Framework].[Group Code].ALLMEMBERS *
[Financial Periods].[Financial Periods].[Financial Period].ALLMEMBERS 
*[Financial Periods].[Financial Period Name].[Financial Period Name].MEMBERS
*[Journal Transaction Structure].[Journal Code].MEMBERS
) 
} ON ROWS 
FROM ( SELECT ({'"&c1&"'})  ON COLUMNS 
FROM ( SELECT ({'"&c3&"'})  ON COLUMNS 
FROM ( SELECT ({'"&c4&"'})  ON COLUMNS 
FROM ( SELECT ({'"&c5&"'})  ON COLUMNS 
FROM [Fin] ))))

先前已经写过查询,我正在替换

FROM ( SELECT STRTOMEMBER(@prmYear)  ON COLUMNS 
FROM ( SELECT STRTOMEMBER(@prmDept)  ON COLUMNS 
FROM ( SELECT STRTOSET(@prmEntity)  ON COLUMNS 
FROM ( SELECT STRTOSET(@prmActivity)  ON COLUMNS 

显然,C1,C3,C4和C5是sheet1上的单元格引用。这些单元格中的每一个都具有完整的MDX值,例如:

c1 = = CONCATENATE(“[财务期间]。[财务期间]。[财务期]。& [”,VLOOKUP(B1,Sheet2!A:B,2,FALSE),“ - ”,C2, “-01 T00:00:00]”)

显示为[财务期]。[财务期]。[财务期]。& [2005-01-01 T00:00:00],希望MDX能解释最终价值

我收到错误“详细信息:”AnalysisServices:Query(30,15)该函数需要1参数的元组集表达式。使用了字符串或数字表达式。“”并且难倒了tbh。任何帮助将不胜感激。

我已经运行了带有FULL TEXT值的表达式并按计划工作,它只是引用了无效的单元格。

三江源。

1 个答案:

答案 0 :(得分:3)

不是一个理想的答案,因为它只是一个链接,但我发现以下演练真正提供了有关Excel立方体功能的强大信息:

https://channel9.msdn.com/Events/TechEd/NewZealand/2013/DBI304

使用他概述的技术,您可以解构mdx并在mdx的单元格参数中创建值