Extracting SQL Queries of all Oracle BI Publisher Reports
Question:
I have a catalog of OBIEE reports which include many BI Publisher Reports. I want the SQL queries (and eventually the list of physical tables) used in the data models of all the BIP Reports in my catalog. I don’t want to do it by manually going into each data model as there are hundreds of BIP reports. Is there a way to do that?
Related to that, we looking into analyzing all the XML files for the reports through a python script.
Is there a way I can extract the SQL queries from a XML file with or without using a Python script?
Any insight would be appreciated
Answers:
The BI Publisher base tables all start with XDO
. You can query the ALL_OBJECTS
table to list all the XDO
tables.
Check XDO_DS_DEFINITIONS_B
table for the data definitions.
I am doing for 11g version by using shell script and Python scripting, might be it will be useful to you
as 11g store the data in file system so datamodel metadata will be present in the Datamodel folder in this file _datamodel%2exdm
Step 1 : find the all files with and get the each file path in a log file using shell script
find /xxxx/Middleware_xx/instances/instance1_xxx/bifoundation/OracleBIPresentationServicesComponent/coreapplication_obips1/catalog/xxCatalog -name _datamodel%2exdm | sed "s#^.#/#" > /data1/OBIEE/excelExport/Python_export/dataModel.log
Step 2 : Do this Python scripting to process the xml file :
import xml.etree.ElementTree as et
I have a catalog of OBIEE reports which include many BI Publisher Reports. I want the SQL queries (and eventually the list of physical tables) used in the data models of all the BIP Reports in my catalog. I don’t want to do it by manually going into each data model as there are hundreds of BIP reports. Is there a way to do that?
Related to that, we looking into analyzing all the XML files for the reports through a python script.
Is there a way I can extract the SQL queries from a XML file with or without using a Python script?
Any insight would be appreciated
The BI Publisher base tables all start with XDO
. You can query the ALL_OBJECTS
table to list all the XDO
tables.
Check XDO_DS_DEFINITIONS_B
table for the data definitions.
I am doing for 11g version by using shell script and Python scripting, might be it will be useful to you
as 11g store the data in file system so datamodel metadata will be present in the Datamodel folder in this file _datamodel%2exdm
Step 1 : find the all files with and get the each file path in a log file using shell script
find /xxxx/Middleware_xx/instances/instance1_xxx/bifoundation/OracleBIPresentationServicesComponent/coreapplication_obips1/catalog/xxCatalog -name _datamodel%2exdm | sed "s#^.#/#" > /data1/OBIEE/excelExport/Python_export/dataModel.log
Step 2 : Do this Python scripting to process the xml file :
import xml.etree.ElementTree as et