具有交叉连接和过滤器超时的 MDX 查询

MDX Query with Crossjoin and Filter Times Out

我每次尝试 运行 这个查询时都会超时。在我将“([Finished Product].[Primary].MEMBERS,”部分添加到查询的行部分之前,它似乎一直有效。有什么想法吗?

SELECT 非空 {[Measures].[Retailer Event Margin Pcnt (Actual, WB Total, LE)], [Measures].[Incr Cnsmp Units (Actual)]} ON COLUMNS,

NON EMPTY {[Finished Product].[Primary].MEMBERS * [Promotion Plan].[Promotion Plan].[Event].MEMBERS} HAVING LEFT([促销计划].[促销计划].CurrentMember.Name, 6) = "Anchor" 行 来自 [豌豆] WHERE ( [Time].[Fiscal].[Fiscal Year].&[2017] )

尝试 "nonempty" 关键字,它在轴级别评估集,"non empty" 在查询之上评估,这对于大型集可能有性能问题。

非空( nonempty([成品].[初级].members,[你的措施])*[促销计划].[促销计划].members,[你的措施])

它只是一个参考,您需要根据您的情况对其进行一些更改。

希望对您有所帮助。

MDXHelper:IDE 高效地编写、分析、调整、调试 MDX

尝试在交叉连接之前进行过滤:

SELECT NON EMPTY {[Measures].[Retailer Event Margin Pcnt (Actual, WB Total, LE)], [Measures].[Incr Cnsmp Units (Actual)]} ON COLUMNS,

NON EMPTY [Finished Product].[Primary].MEMBERS 
* Filter([Promotion Plan].[Promotion Plan].[Event].MEMBERS, LEFT([Promotion Plan].[Promotion Plan].CurrentMember.Name, 6) = "Anchor")
ON ROWS FROM [PEA] 
WHERE ( [Time].[Fiscal].[Fiscal Year].&[2017] )