修改Microstrategy SQL Generator

时间:2012-05-16 16:38:17

标签: sql infobright microstrategy

我正在使用Microstrategy,我知道自由格式SQL报告功能。但是,我想改变Microstrategy如何生成SQL。

由于我使用的是Infobright,我想使用子选择而不是完全连接等。例如:

Microstrategy生成的查询:     选择b.colb,     分钟(b.cold),     总和(a.colb)     来自tablea a     加入tableb b     在a.id = b.id上     b.colb小组

我希望它能够生成以下方式:     选择b.colb,     分钟(b.cold),     总和(a.colb)     from(选择id,sum(cold)from tablea a group by colb)     加入tableb b     在a.id = b.id上     b.colb小组

是否有可能修改生成器以采用这种方法而不是当前的方法?或者,我必须使用自由格式生成器吗?

2 个答案:

答案 0 :(得分:2)

在报告中 - >转到VLDB属性 - >子查询类型 - >选择第6个选项 - >其中col 1(选择s1.col1 ..)回退到存在(选择col1,col2。 ..)用于多列IN

答案 1 :(得分:1)

您可以通过更改VLDB属性(在报告级别或数据库实例级别)来更改MSTR生成SQL的方式。

在VLDB设置上,我认为您应该在Tables文件夹中的“Intermediate Table Type”中查找“Derived Table”选项,但是看一下Tables文件夹中的其他选项以及Query优化文件夹。