您好,尝试将 saiku 与 vertica 一起使用。
Vertica具有数据库->模式->表的概念。因此,在 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' 不起作用,因为我使用元模型 3.6)
- Mondrian 似乎从指定的表名(这里是 schema.table)生成别名,这在这里出了问题。
还有其他方式来提及架构吗?如何去掉双引号?
最佳答案
表标签也带有 schema 属性。(感谢 Paul Stoellberger 指出)所以
<Table name="factName" schema="schemaName"></Table>
这可以解决方言和引用问题
http://mondrian.pentaho.com/documentation/xml_schema.php#Table
关于translation - Mondrian saiku - vertica查询翻译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21738803/