Obiee version:12.2.1.2.0
I created an analysis & it generated a backend query .I got both of these from Administartion->Manage sessions
Obiee logical query vs db query
Filter condition in logical query:
FROM "POC"
WHERE
(((("DIM_TD_SUMMARY"."BUDGET_AMOUNT" <> 0) AND ("DIM_TD_SUMMARY"."TRANSACTION_AMOUNT" <> 0) AND ("DIM_TD_SUMMARY"."SALARY_COMMITMENT" <> 0) AND ("DIM_TD_SUMMARY"."FISCAL_YEAR" = 0)) OR ("DIM_TD_SUMMARY"."FISCAL_YEAR" <> 0)) AND (("DIM_TD_SUMMARY"."PO_REFERENCE" <> 'PO') OR (("DIM_TD_SUMMARY"."PO_REFERENCE" = 'NULL') AND ("DIM_TD_SUMMARY"."TRANSACTION_DATE" = timestamp '2020-05-01 00:00:00') AND ("DIM_TD_SUMMARY"."IS_SMARTBUY" = 'Y'))) AND ("DIM_TD_SUMMARY"."FISCAL_YEAR" >= 2021) AND ("DIM_TD_SUMMARY"."FUND_CODE" IN ('FC')))
Filter condition in the backend query in obiee:
where ( T163020.FUND_CODE = 'FC' and T163020.TRANSACTION_ID = T163287.VOUCHER_ID and (T163020.IS_SMARTBUY in ('Y') or T163020.PO_REFERENCE <> 'PO') and (T163020.PO_REFERENCE in ('NULL') or T163020.PO_REFERENCE <> 'PO') and (T163020.FISCAL_YEAR <> 0 or T163020.TRANSACTION_AMOUNT <> 0) and (T163020.TRANSACTION_DATE in (TO_DATE('2020-05-01 00:00:00' , 'YYYY-MM-DD HH24:MI:SS')) or T163020.PO_REFERENCE <> 'PO') and (T163020.FISCAL_YEAR <> 0 or T163020.SALARY_COMMITMENT <> 0) and (T163020.BUDGET_AMOUNT <> 0 or T163020.FISCAL_YEAR <> 0) and T163020.FISCAL_YEAR >= 2021 )
Simple example of my scenario:
Logical query:A OR(B AND C)
Db query: (A or
AND (A OR C)
My need is to have condition similar to logical query but why is it different when it is sending to db?
Please let me know the reason
Thanks