mdx转义字符CDE Pentaho

时间:2016-04-06 16:35:57

标签: escaping mdx pentaho pentaho-cde

我已经看到了一些关于MDX转义字符的问题,但是它们专注于具有指定值的查询。我有一个动态mdx,其值将由用户指定。这是MDX:

    SELECT
    NON EMPTY {Hierarchize({[Measures].[INDICADOR]})} ON COLUMNS,
    NON EMPTY {Hierarchize({[NOW].[NOW].Members})} ON ROWS
    FROM [UNION_NOW]
    WHERE CrossJoin({[PARENT].[${parentParameter}]}

外卡基于我的选择器:

    SELECT
    NON EMPTY {Hierarchize({[NOW].[NOW].Members})} ON COLUMNS,
    NON EMPTY {Hierarchize({[PARENT].[PARENT].Members})} ON ROWS
    FROM [UNION_NOW]

在这种情况下如何应用“逃逸值”?

1 个答案:

答案 0 :(得分:0)

解决的最佳方法是使用选择组件的PRE / POST执行事件,具体取决于您使用的CDE组件。

类似情况

  • 我使用了一个从SQL查询中提取数据的select组件
  • 根据用户选择,我使用Query Component的预执行事件生成where子句并在“简单参数”组件中设置where子句
  • 最后在MDX Query中使用该简单参数加入动态where子句。

您还可以使用select组件的后执行来生成动态where子句并将其设置在参数中,然后在MDX / SQL查询中使用该参数

希望它有所帮助。