F Generating CSV Output

This topic describes how to generate the CSV output for large reports.

In BI Publisher releases earlier than 12.2.1.3, the CSV output for large reports caused performance issues. An out of memory issue occurred if the CSV output was larger than 400MB because BI Publisher generated the CSV output using these three stages:

  1. XML output

  2. Formatted output

  3. CSV output

Starting with the 12.2.1.3 release, if you choose only the CSV output format, without selecting any other output formats, the CSV output for large reports doesn't cause memory issues, because the CSV output is generated directly without the XML file.

Requirements

To enable only CSV output, set the Enable CSV Output property in the Data Model Properties page. See Setting Data Model Properties in Data Modeling Guide for Oracle Business Intelligence Publisher.

Limitations

The data engine cannot generate a CSV output when:

  • The SQL query contains the CLOB/BLOB columns

    When a query includes CLOB columns, the data processor cannot generate the CSV output because the LOB might be XML data or non-structured data. Converting the LOB columns to flattened a CSV format doesn't scale. This type of conversion requires complex code changes that are similar to embedding a formatting engine inside the data engine.

  • The SQL query contains the DFF/EFF columns

    When a query includes a DFF (Descriptive Flexfield) or EFF (Extensible Flexfield) columns, the data processor cannot generate a CSV output. Each DFF or EFF column is treated as a nested sub-group in the query, which results in nested XML data. You cannot flatten a nested XML data directly to a CSV output.

  • The data model has both SQL and Non-SQL data sets

    When a data model contains a mix of SQL and Non-SQL data sets (Non-Standard data sets such as web-service, http, and xml), the data processor cannot generate a CSV output.

  • The data model has a non-standard SQL query

    When a data model has a non-standard query such as a procedure or a function that returns a reference, the data processor cannot directly generate a CSV output. The non-standard queries returning nested XML structure cannot be handled inside the data engine.

  • The scheduled report has multiple output formats

    If you select multiple output formats for the scheduled report, the data processor doesn't generate the CSV output directly from the XML file.

  • The scheduled report uses bursting

    The data engine doesn't directlygenerate the CSV format for report bursting. Splitting and delivering data requires raw XML data parsing.