If you are unable to create a new account, please email support@bspsoftware.com

 

News:

MetaManager - Administrative Tools for IBM Cognos
Pricing starting at $2,100
Download Now    Learn More

Main Menu

Crosstab - report expression error

Started by ckoulalis, 15 Jun 2022 04:24:35 PM

Previous topic - Next topic

ckoulalis

Hello,

I have a bit of a convoluted report that I was incredibly proud of once it worked, but now that I have come back to it after a month off it is no longer working. Brief context:  this report is a cross tab comparing user templates (called Roles, and are the rows) with template settings (called Policies, and are the columns). The intersection cells are the way that specific role is set up for that specific policy.

It was difficult from the beginning because crosstabs don't like text values, so I had to take the cross tab intersection data item and rewrite it as a "case when" expression replacing the options with numerical values. I can paste the expression if it would be helpful, but it isn't the one causing a problem I don't think. After writing and validating that expression worked I had to then change the crosstab fact cells (under page structure) from "Data Item Value" to "Report Expression" and write an expression converting those numerical values back into the text values I need. This was the only solution I was able to find to getting this report in a crosstab format and it did work - I was able to pull it once and have it saved (not sure I can upload it as an example, proprietary issues?). I haven't been back to it since, though, and now it is giving me this error:

CRX-YXX-4010 A parsing error was found at or near the position 0 in the expression "case
   when cellValue()=1 then '*NA'
   when cellValue()=2 then '*DUAL'
   when cellValue()=3 then '*USE'
   when cellValue()=4 then '*OVR'
end ".
XPath="./layouts/layout/reportPages/page[1][@name='Role Policies']/pageBody/contents/crosstab[@name='Crosstab1']/crosstabFactCell"

RSV-SRV-0042 Trace back:
RSReportService.cpp(766): crxException: CCL_CAUGHT: RSReportService::processImpl()
RSReportServiceMethod.cpp(253): crxException: CCL_RETHROW: RSReportServiceMethod::process(): asynchRunSpecification_Request
RSASyncExecutionThread.cpp(898): crxException: RSASyncExecutionThread::checkException
RSASyncExecutionThread.cpp(364): crxException: CCL_CAUGHT: RSASyncExecutionThread::runImpl(): asynchRunSpecification_Request
RSASyncExecutionThread.cpp(943): crxException: CCL_RETHROW: RSASyncExecutionThread::processCommand(): asynchRunSpecification_Request
Execution/RSRenderExecution.cpp(582): crxException: CCL_RETHROW: RSRenderExecution::execute
Assembly/RSDocAssemblyDispatch.cpp(346): crxException: CCL_RETHROW: RSDocAssemblyDispatch::dispatchAssembly
Assembly/RSLayoutAssembly.cpp(79): crxException: CCL_RETHROW: RSLayoutAssembly::assemble
Assembly/RSDocAssemblyDispatch.cpp(451): crxException: CCL_RETHROW: RSDocAssemblyDispatch::dispatchChildrenAssemblyForward
Assembly/RSReportPagesAssembly.cpp(185): crxException: CCL_RETHROW: RSReportPagesAssembly::assemble
Assembly/RSDocAssemblyDispatch.cpp(391): crxException: CCL_RETHROW: RSDocAssemblyDispatch::dispatchAssembly
Assembly/RSPageAssembly.cpp(314): crxException: CCL_RETHROW: RSPageAssembly::assemble
Assembly/RSDocAssemblyDispatch.cpp(391): crxException: CCL_RETHROW: RSDocAssemblyDispatch::dispatchAssembly
Assembly/RSTableRowAssembly.cpp(177): crxException: CCL_RETHROW: RSTableRowAssembly::assemble
Assembly/RSDocAssemblyDispatch.cpp(391): crxException: CCL_RETHROW: RSDocAssemblyDispatch::dispatchAssembly
Assembly/RSTableCellAssembly.cpp(151): crxException: CCL_RETHROW: RSTableCellAssembly::assemble
Assembly/RSDocAssemblyDispatch.cpp(451): crxException: CCL_RETHROW: RSDocAssemblyDispatch::dispatchChildrenAssemblyForward
Assembly/RSDocAssemblyDispatch.cpp(391): crxException: CCL_RETHROW: RSDocAssemblyDispatch::dispatchAssembly
Assembly/RSDocAssemblyDispatch.cpp(391): crxException: CCL_RETHROW: RSDocAssemblyDispatch::dispatchAssembly
Assembly/RSDocAssemblyDispatch.cpp(451): crxException: CCL_RETHROW: RSDocAssemblyDispatch::dispatchChildrenAssemblyForward
Rom/RSDataSourceExpression.cpp(143): crxException: CCL_RETHROW: RSDataSourceExpression::evaluate
RSExpression.cpp(150): crxException: CCL_THROW: RSExpression::compile


The expression it lists at the top is the expression I wrote turning the numerical values back into text values, and as I said above, it worked when it was first written. No one else in my org would touch or look at this report, so nothing should have been changed and it still looks correct to me.

Any ideas on what might have made this suddenly break or how I can work around it would be greatly appreciated.

BigChris