我正在尝试使用单元格值作为参数值来通过 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]")
显示为 [Financial Periods].[Financial Periods].[Financial Period].&[2005-01-01 T00:00:00],希望 MDX 能够解释最终值
我收到错误“详细信息:”AnalysisServices: Query (30, 15) 该函数需要 1 参数的元组集表达式。使用了字符串或数字表达式。""并且被难住了。任何帮助,将不胜感激。
我已经使用 FULL TEXT 值运行了表达式并按计划工作,它只是对不起作用的单元格的引用。
谢谢你。
最佳答案
不是一个理想的答案,因为它只是一个链接,但我发现以下演练确实提供了有关 Excel 多维数据集函数功能的信息:
https://channel9.msdn.com/Events/TechEd/NewZealand/2013/DBI304
使用他概述的技术,您可以解构您的 mdx 并在单元格参数中为 mdx 设置值
关于Excel - 以单元格值作为参数对 SSAS 多维数据集进行 MDX 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43484233/