[Date Prev][Date Next][Thread Prev][Thread Next]
[Author Index]
[Date Index]
[Thread Index]
[SQR-USERS Info]
[SQRUG Home Page]
[sqr-users] Query to SQR
- Subject: [sqr-users] Query to SQR
- From: Raghvendra Dharwada <dharwada@gmail.com>
- Date: Tue, 31 May 2005 12:44:02 -0700
- Delivery-date: Tue, 31 May 2005 14:45:04 -0500
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com;h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition;b=Xn+VP+vGvssoqrEdrtPFu6N1aZulfZ0NaNw51RzzOh31rTccnEKHFG5Fb+0vgtN2b5gWIwU+QPzamLe58lbqAEppdg5VaCivgLeJaPgg8LcCRtU7rhMGg8tgME2eSv5YVdFi1YwK23FcWqeEREkM6ZVlio76H9gBgkNRYyRE7IM=
- List-id: "This list is for discussion about the SQR database reportinglanguage from Hyperion Solutions." <sqr-users.sqrug.org>
Hi All,
I am trying to convert the following long running query (I would
rather say, it times out when I run) to an SQR. Can anyone suggest me
how to tune this query ? Also, if I incorporate the same query in an
SQR, how do I split it? I am thinking of putting all the subqueries
into different procedures and use respective variables. Is it the
right way of splitting it? Please suggest me different ways of doing
it or tuning the query. I appreciate your help.
SELECT :1 , :2 , 'XXGL1234', A.BUSINESS_UNIT, A.LEDGER, A.ACCOUNT,
A.DEPTID, A.AFFILIATE, SUM( A.POSTED_TOTAL_AMT)
FROM PS_LEDGER A
WHERE A.ACCOUNT = (SELECT B.ACCOUNT
FROM PS_GL_ACCOUNT_TBL B, PSTREELEAF C, PSTREENODE D
WHERE B.ACCOUNT = A.ACCOUNT
AND B.EFFDT =
(SELECT MAX(B_ED.EFFDT) FROM PS_GL_ACCOUNT_TBL B_ED
WHERE B.SETID = B_ED.SETID
AND B.ACCOUNT = B_ED.ACCOUNT
AND B_ED.EFFDT <= SYSDATE)
AND B.ACCOUNT BETWEEN C.RANGE_FROM AND C.RANGE_TO
AND C.EFFDT =
(SELECT MAX(C_ED.EFFDT) FROM PSTREELEAF C_ED
WHERE C.SETID = C_ED.SETID
AND C.SETCNTRLVALUE = C_ED.SETCNTRLVALUE
AND C.TREE_NAME = C_ED.TREE_NAME
AND C_ED.EFFDT <= SYSDATE)
AND C.TREE_NAME = 'ACCOUNT_ROLLUP'
AND C.SETID = D.SETID
AND C.TREE_NAME = D.TREE_NAME
AND C.TREE_NODE_NUM = D.TREE_NODE_NUM
AND D.EFFDT =
(SELECT MAX(D_ED.EFFDT) FROM PSTREENODE D_ED
WHERE D.SETID = D_ED.SETID
AND D.SETCNTRLVALUE = D_ED.SETCNTRLVALUE
AND D.TREE_NAME = D_ED.TREE_NAME
AND D_ED.EFFDT <= SYSDATE)
AND D.TREE_NODE IN ('PROFITLOSS','BALSHEET')
AND B.SETID = 'MODEL'
AND C.EFFDT =
(SELECT MAX(C_ED.EFFDT) FROM PSTREELEAF C_ED
WHERE C.SETID = C_ED.SETID
AND C.SETCNTRLVALUE = C_ED.SETCNTRLVALUE
AND C.TREE_NAME = C_ED.TREE_NAME
AND C_ED.EFFDT <= D.EFFDT))
AND A.FISCAL_YEAR = :1
AND A.ACCOUNTING_PERIOD BETWEEN 0 AND :2
AND A.LEDGER = 'ACTUALS'
GROUP BY :1 , :2 , 'XXGL1234', A.BUSINESS_UNIT, A.LEDGER,
A.ACCOUNT, A.DEPTID, A.AFFILIATE
Thanks,
Raghav
_______________________________________________
sqr-users mailing list
sqr-users@sqrug.org
http://www.sqrug.org/mailman/listinfo/sqr-users