在Netezza中查看QRYSTAT的源表

时间:2016-05-24 19:30:28

标签: sql view netezza microstrategy

我目前在Aginity Workbench的Netezza环境中工作,我计划使用Management View _V_QRYSTAT中的一些列来填充MicroStrategy中的图表。

不幸的是,我无法让MicroStrategy识别_V_QRYSTAT中的任何列。我不认为它可以从视图中读取列,我认为最好的方法是找出_V_QRYSTAT视图从哪个表中获取数据,但我无法弄清楚在Netezza中查找视图的源表的方法。有没有人知道可以在Aginity Workbench上的Netezza中使用的方法来定位视图的源表(特别是_V_QRYSTAT)?

我对SQL,Netezza和MicroStrategy都很陌生,所以如果我不清楚,我会道歉。如果需要进一步阐述,请告诉我。

1 个答案:

答案 0 :(得分:1)

我很确定MicroStrategy会识别并使用视图,但是要直接回答您的问题,您可以通过查询_V_VIEW系统视图来查看视图定义。

select definition from _v_view where viewname = '_V_QRYSTAT';
                                                                                                                                                                                                                                                                                                                                                       DEFINITION                                                                                                                                                                                                                                                                                                                                                       
---------
SELECT 
        QS.QS_SESSIONID, 
        QS.QS_PLANID   , 
        QS.QS_CLIENTID , 
        CASE 
                WHEN ((VU.OBJID NOTNULL 
                                ) 
                                OR ("CURRENT_USEROID"() = 4900 
                                ) 
                        ) 
                THEN QS.QS_CLIIPADDR 
                ELSE "NAME"(NULL::"VARCHAR") 
        END AS QS_CLIIPADDR, 
        CASE 
                WHEN ((VU.OBJID NOTNULL 
                                ) 
                                OR ("CURRENT_USEROID"() = 4900 
                                ) 
                        ) 
                THEN QS.QS_SQL 
                ELSE TEXT(NULL::"VARCHAR") 
        END AS QS_SQL , 
        QS.QS_STATE   , 
        QS.QS_TSUBMIT , 
        QS.QS_TSTART  , 
        QS.QS_PRIORITY, 
        QS.QS_PRITXT  , 
        QS.QS_ESTCOST , 
        QS.QS_ESTDISK , 
        QS.QS_ESTMEM  , 
        QS.QS_SNIPPETS, 
        QS.QS_CURSNIPT, 
        QS.QS_RESROWS , 
        QS.QS_RESBYTES 
FROM 
        ((DEFINITION_SCHEMA."_T_QRYSTAT" QS 
LEFT JOIN DEFINITION_SCHEMA."_T_SESSCTX" SS ON ( 
                (QS.QS_SESSIONID = SS.SESSION_ID 
                ) 
        )) 
LEFT JOIN DEFINITION_SCHEMA."_V_USER" VU ON ( 
                (SS.SESSION_USERNAME = VU.USERNAME 
                ) 
        ));


(1 row)

这几乎肯定会带你几次递归,因为您感兴趣的视图基于视图和表格。