Excel - 使用单元格值作为参数对 SSAS 多维数据集进行 MDX 查询

Excel - MDX query to SSAS Cube with cell values as parameters

我正在尝试通过 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.Each 上的单元格引用,其中这些单元格具有完整的 MDX 值,例如:

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

显示为 [Financial Periods].[Financial Periods].[Financial Period].&[2005-01-01 T00:00:00],希望 MDX 能够解释最终值

我收到一个错误 "Details: "AnalysisServices: Query (30, 15) 该函数需要 1 个参数的元组集表达式。使用了字符串或数字表达式。“”我很困惑。任何帮助将不胜感激。

我有 运行 包含 FULL TEXT 值的表达式,并且按计划工作,只是单元格的引用不起作用。

谢谢。

这不是一个理想的答案,因为它只是一个 link,但我发现以下演练确实提供了有关 Excel 多维数据集函数的强大功能的信息:

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

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