我正在使用Microstrategy,并且我知道Freeform SQL报表功能。然而,我想改变Microstrategy生成SQL的方式。
因为我使用的是Infobright,所以我想使用子选择而不是全连接,等等。示例:
微策略生成查询: select b.colb,min(b.cold),sum(a.colb) from tablea a join tableb b on a.id = b.id group by b.colb
我希望它以如下方式生成: select b.colb,min(b.cold),sum(a.colb) from (select id,sum(cold) from tablea group by colb) join tableb on a.id = b.id group by b.colb
是否可以修改生成器以采用这种类型的方法,而不是当前的方法?或者,我必须使用自由格式生成器吗?
发布于 2012-08-27 00:46:37
在报告中->转到VLDB属性->子查询类型->选择第6个选项->where COL1 In (选择s1.col1.)回退到exists (选择col1、col2...)中的多个列
发布于 2012-05-20 01:30:22
您可以通过更改VLDB属性(在报告级别或数据库实例级别)来更改MSTR生成SQL的方式。
关于VLDB设置,我认为您应该在Tables文件夹中的"Intermediate Table Type“中查找"Derived”选项,但也要查看Tables文件夹和Query Optimization文件夹中的其他选项。
https://stackoverflow.com/questions/10622905
复制相似问题