中易网

如何阅读Cognos生成的SQL

答案:1  悬赏:70  
解决时间 2021-02-04 07:49
如何阅读Cognos生成的SQL
最佳答案
当Cognos应用时直接从关系数据库读取数据时,通过 Cognos ReportStudio 查看的到的SQL形式大致如下: with "RPT_MON_DMS3" as ( select distinct * from "RPT_HQ"."RPT_MON_DMS"), "期间" as ( select "RPT_MON_DMS3"."RPT_MON" "RPT_MON", "RPT_MON_DMS3"."MON_NM" "MON_NM", "RPT_MON_DMS3"."YEAR_ID" "YEAR_ID" from "RPT_MON_DMS3" where "RPT_MON_DMS3"."RPT_NM"='RPT_PA_INDV_CUST_NO_FCT') select distinct "期间"."YEAR_ID" "年key", "期间"."RPT_MON" "日key", "期间"."MON_NM" "New_Query_Item" from "期间" SELECt {[期间]..[all].[2009].[200901]} DIMENSION PROPERTIES PARENT_LEVEL, CHILDREN_CARDINALITY ON AXIS(0) FROM [C:/Program Files/cognos/c8\./bin\../temp\dmbTemp_3320_0048_12688060120.dmc] 上面是一段典型的Cognos生成的SQL,with后面跟着两个子查询"RPT_MON_DMS3"和"期间" ,后面带下划线的是一段主查询,这是一个单一SQL组成的查询语句,此处的SQL也可能由多个语句组成,但是在语句和语句之间没有明显的分隔符号,只能靠SQL语法来阅读,由于Cognos生成的SQL一般带有with关键字,而且一个SQL语句只有一个with关键字,因此可以从with关键字的出现来判断SQL语句的间隔位置,如果这样仍然不方便阅读的话,可以使用TOAD等工具的格式化功能,可能更容易阅读。 最后一段是Cognos的MDX多维查询语句,此语句的产生,说明最终的查询结果是经过了Cognos的本地处理过程而获得的,即Cognos通过前面的一个或者多个SQL语句的查询结果放在Cognos的对应用服务器上,再通过Cognos的多维处理引擎处理,最终生成结果。一般这个MDX语句会出现在整个查询语句的最后阶段,并且该语句无法直接提交给关系数据库执行。 通过以上方法,可以对Cognos就该报表的执行过程有一个比较确切的理解,同时,也是将来用于优化Cognos应用性能的重要手段!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我在天龙八部恋曲2009卖了个黑老虎直多少钱
《儿子工作,爸爸上学》讲的是什么
水泵叶轮铸钢具体分为什么
为什么我看上比较矮 和我身高一样的人 但不对
耀华酒店怎么去啊,有知道地址的么
会计证可以在同省的其他城市使用吗?
人们从什么中得到启示发明了什么
ASP.NET 应用程序生命周期和页生命周期分别是
形男秀女在哪里啊,我有事要去这个地方
在阳台种黄瓜是不是要买肥料?
going abroad for studies is enjoying a str
碧中海温泉酒店地址在哪,我要去那里办事
转让店铺怎么写
九龙家具城我想知道这个在什么地方
工厂所有的费用 是否都算在manufacturing ove
推荐资讯
CAD2007里面怎样插入图片
DNF表情怎样解锁
离石师范地址在哪,我要去那里办事
我的孩子10岁了,老师说他逻辑思维不行,我也
爱嘉床上用品我想知道这个在什么地方
从双福新区骑摩托到茶园怎么走,需要详细路线
液溴 四氯化碳 溴苯 水 之间的密度关系?
高尖咀在什么地方啊,我要过去处理事情
哪位大神知道三国杀每天可以获得最多多少经验
高安市公安局交通警察大队 处罚决定书到农业
姜家门前怎么去啊,有知道地址的么
做肠粉小本生意好不好做
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?