我想从给定的MDX查询中提取信息或查询轴元素。 假设我有此查询:从MDX查询提取元素的正则表达式
SELECT NON EMPTY {
Hierarchize({[Product].[Product Family].Members})
} ON COLUMNS,
NON EMPTY Hierarchize (
Union (
CrossJoin ({[Time].[1997].[Q1]},
CrossJoin ([Store].[Store Name].Members,
[Store Type].[Store Type].Members
)
),
CrossJoin({[Time].[1997].[Q2]},
CrossJoin([Store].[Store Name].Members,
[Store Type].[Store Type].Members
)
)
)
) ON ROWS FROM [Sales]
WHERE {
Hierarchize({[Measures].[Unit Sales]})
}
我想提取物具有图案像这样的字符串:([...])。 [...]或 [...] [。 ..]。会员
请注意,...表示任何字母数字,以及内部括号意味着什么可以重现。因此,我期望的结果是:
[Product]。[Product Family] .Members; [时间] [1997] [Q1]。。 [Time]。[1997]。[Q2]; [Store]。[Store Name] .Members; [商店类型]。[商店 类型]。成员; [措施] [单位销售]
我尽力终于想通这个表达式:
\[.*?[A-Za-z\s]\](.*?(\.\[.*?[A-Za-z\s]\])|(\.Members))
但结果是:
[产品] [产品系列。 ; [Time]。[1997]。[Q1]},CrossJoin([Store]; [Store Name] .Members,[Store Type]。[Store Type]; [Time]。[1997]。[Q2]}, CROSSJOIN([存储] [存储名称] .Members,[存储类型] [商铺类型]。 [销售] WHERE {Hierarchize({[措施] [单位销售]
能有人给?我的正则表达式的任何修正 任何帮助,将不胜感激
非常感谢!它就像魅力一样。 – 2013-04-08 03:31:05
太棒了!别客气!^_^ – Jerry 2013-04-08 04:50:33
@Jerry比我的更好的解决方案。做得好。 – DHN 2013-04-08 06:40:15