Cannot export an OLAP-based SAS® Web Report Studio report if dimension names use inconsistent casing


When exporting an OLAP-based report, the export task might fail with the following errors if dimension names use inconsistent casing, or if the expression for a name includes a blank space. The log typically contains the following error.


2011-01-20 12:53:28,440 [http-0.0.0.0-8443-1] WARN  [8d24d9cb2e1c99c5:-4ffb7d2c:12da4816529] 
com.sas.apps.citation.model.report.ReportExporter - Report could not be exported
2011-01-20 12:53:28,441 [http-0.0.0.0-8443-1] ERROR [8d24d9cb2e1c99c5:-4ffb7d2c:12da4816529] 
com.sas.apps.citation.controller.action.export.ExportReportAction - Root Cause:   java.lang.NullPointerException
    at com.sas.storage.iquery.BusinessQueryToOLAPDataSetAdapter.getFormat(BusinessQueryToOLAPDataSetAdapter.java:903)
    at com.sas.servlet.tbeans.olaptableview.html.OLAPTableView.getFormat(OLAPTableView.java:2997)
    at com.sas.servlet.tbeans.olaptableview.html.OLAPTableView.cacheMeasureFormat(OLAPTableView.java:2981)
    at com.sas.servlet.tbeans.olaptableview.html.OLAPTableView.addColumnHeadersFilterAttributes(OLAPTableView.java:863)

Because MDX is case sensitive, this problem can occur when the underlying cube contains calculated members or measures with inconsistent casing. One way to identify this problem is to review the PROC OLAP code used to generate the cube. For example, if the cube has both [MEASURES] and [Measures] defined, then SAS Web Report Studio generates the previous errors when you attempt to export the report. To fix the issue referenced in the example, you would change all references of [MEASURES] to [Measures], and rebuild the cube.

In addition, a blank space, as shown in the following example after Delinquent Ratio and before the closing bracket, might cause this same error.


   DEFINE Member '[CUBE_FINANCE].[MEASURES].[Delinquent Ratio ]' AS 
         '[MEASURES].[DELQ_BALANCESUM]  / [MEASURES].[LOANBASE_AMT_YTDSUM], FORMAT_STRING="COMMA25.2"';


To fix this issue, you would remove the space and then rebuild the cube.