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 赋值
我正在尝试通过 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 赋值