Mondrian saiku - vertica查询翻译错误

时间:2014-02-12 20:23:25

标签: translation mdx mondrian saiku

嗨试图使用带有vertica的saiku。

Vertica的概念是db - >架构 - >表。所以在xml文件中,我给的是schemaName.tableName

,而不是表名
<?xml version="1.0"?>
<Schema name="Sales" metamodelVersion='3.6' quoteSql='false'>
<Cube name="Sales" defaultMeasure="sales">
<Table name="schemaName.factName"></Table>
  <Dimension name="date_mysql">
    <Hierarchy hasAll="true">
      <Level name="date" column="date" type="Date" uniqueMembers="false"/>
    </Hierarchy>
  </Dimension>
  <Measure name="sales" aggregator="sum" column="sales" formatString="#,###" />
  <Measure name="orders" aggregator="sum" column="orders" formatString="#,###" />
</Cube>
</Schema>

这似乎有效,蒙德里安能够正确地选择尺度和尺寸。问题是生成的SQL查询语法错误

select "schemaName"."tableName"."date" as "c0" 
from "schemaName"."tableName" as "schemaName"."tableName" 
group by "schemaName"."tableName"."date" 
order by CASE WHEN "schemaName"."tableName"."date" IS NULL THEN 1 ELSE 0 END, "schemaName"."tableName"."date" ASC

这里有两个问题。

  • Vertica将双引号视为任何其他字符,因此“tableName”和tableName是不同的。 (quoteSql ='false'不能像Iam一样使用元模型3.6)
  • Mondrian似乎从指定的表名(这里是schema.table)生成了别名,这里出错了。

还有其他方式提到架构吗?以及如何摆脱双引号?

1 个答案:

答案 0 :(得分:2)

表标签也带有一个架构属性。(感谢Paul Stoellberger指出)所以

<Table name="factName" schema="schemaName"></Table>

这会照顾方言和引用问题

http://mondrian.pentaho.com/documentation/xml_schema.php#Table