Hi all,

I'm using the Pentaho Meta Editor, the Pentaho Report Designer (both Version 7) and an Oracle Database (Version 11). In the Meta Editor I used some Case When Formulas (the Decode Formula for Oracle would work, but the Case When is compatible with other Databases) in the section "Business View" < "Calculation".

The formula is for example: CASE PROTOCOLLEVEL WHEN 0 THEN ('Info') WHEN 1 THEN ('Warning') WHEN 2 THEN ('Error') END

I'm getting a lot of Warnings (4000 rows) in the Report Designer because the Formulas are not getting analyzed, I would like to understand why and how to avoid these Warnings. Of course I could ignore the Warnings as the Report is running successfully anyway or I could simply change the logging level in the log4j.xml, but I would rather like to know the reason and get your knowledge on this matter.

I'm really thankful for every help I could get on this.

Regards

Connecto

PS: this is one of the warnings:
2017-05-23 17:03:27,242 [ 592941] WARN - org.pentaho.metadata.query.impl.sql.SqlGenerator - SqlGenerator.ERROR_0001 – Analysis of the query CASE PROTOCOLLEVEL WHEN 0 THEN ('Info') WHEN 1 THEN ('Warning') WHEN 2 THEN ('Error') END failed
org.pentaho.pms.core.exception.PentahoMetadataException: SqlOpenFormula.ERROR_0005 – Analysieren der Formel fehlgeschlagen CASE PROTOCOLLEVEL WHEN 0 THEN ('Info') WHEN 1 THEN ('Warning') WHEN 2 THEN ('Error') END
at org.pentaho.metadata.query.impl.sql.SqlOpenFormula.parseAndValidate(SqlOpenFormula.java:250)
at org.pentaho.metadata.query.impl.sql.SqlGenerator.getBusinessColumnSQL(SqlGenerator.java:1202)
at org.pentaho.metadata.query.impl.sql.SqlGenerator.getTablesInvolved(SqlGenerator.java:707)
at org.pentaho.metadata.query.impl.sql.SqlGenerator.getSQL(SqlGenerator.java:542)
at org.pentaho.metadata.query.impl.sql.SqlGenerator.generateSql(SqlGenerator.java:474)
at org.pentaho.reporting.engine.classic.extensions.datasources.pmd.SimplePmdDataFactory.generateSQL(SimplePmdDataFactory.java:221)
at org.pentaho.reporting.engine.classic.extensions.datasources.pmd.SimplePmdDataFactory.queryData(SimplePmdDataFactory.java:455)
at org.pentaho.reporting.engine.classic.extensions.datasources.pmd.PmdDataFactory.queryData(PmdDataFactory.java:138)
at org.pentaho.reporting.engine.classic.core.CompoundDataFactory.queryStaticInternal(CompoundDataFactory.java:172)
at org.pentaho.reporting.engine.classic.core.CompoundDataFactory.queryStatic(CompoundDataFactory.java:154)
at org.pentaho.reporting.engine.classic.core.CompoundDataFactory.queryData(CompoundDataFactory.java:67)
at org.pentaho.reporting.engine.classic.core.cache.CachingDataFactory.queryInternal(CachingDataFactory.java:411)
at org.pentaho.reporting.engine.classic.core.cache.CachingDataFactory.queryData(CachingDataFactory.java:299)
at org.pentaho.reporting.engine.classic.core.function.formula.MultiValueQueryFunction.performQuery(MultiValueQueryFunction.java:116)
at org.pentaho.reporting.engine.classic.core.function.formula.MultiValueQueryFunction.evaluate(MultiValueQueryFunction.java:106)
at org.pentaho.reporting.libraries.formula.lvalues.FormulaFunction.evaluate(FormulaFunction.java:193)
at org.pentaho.reporting.libraries.formula.lvalues.FormulaFunction$FormulaParameterCallback.get(FormulaFunction.java:61)
at org.pentaho.reporting.libraries.formula.lvalues.FormulaFunction$FormulaParameterCallback.getType(FormulaFunction.java:102)
at org.pentaho.reporting.libraries.formula.function.userdefined.CsvTextFunction.evaluate(CsvTextFunction.java:47)
at org.pentaho.reporting.libraries.formula.lvalues.FormulaFunction.evaluate(FormulaFunction.java:193)
at org.pentaho.reporting.libraries.formula.Formula.evaluateTyped(Formula.java:85)
at org.pentaho.reporting.libraries.formula.Formula.evaluate(Formula.java:114)
at org.pentaho.reporting.engine.classic.core.function.FormulaExpression.computeRegularValue(FormulaExpression.java:184)
at org.pentaho.reporting.engine.classic.core.function.FormulaExpression.getValue(FormulaExpression.java:222)
at org.pentaho.reporting.engine.classic.core.parameters.FormulaParameterEvaluator.computeValue(FormulaParameterEvaluator.java:99)
at org.pentaho.reporting.engine.classic.core.parameters.AbstractParameter.getDefaultValue(AbstractParameter.java:152)
at org.pentaho.reporting.engine.classic.core.parameters.DefaultListParameter.getDefaultValue(DefaultListParameter.java:133)
at org.pentaho.reporting.engine.classic.core.parameters.DefaultReportParameterValidator.validateSingleParameter(DefaultReportParameterValidator.java:148)
at org.pentaho.reporting.engine.classic.core.parameters.DefaultReportParameterValidator.validate(DefaultReportParameterValidator.java:131)
at org.pentaho.reporting.engine.classic.core.modules.gui.base.ParameterReportControllerPane.reinit(ParameterReportControllerPane.java:421)
at org.pentaho.reporting.engine.classic.core.modules.gui.base.ParameterReportControllerPane.setReport(ParameterReportControllerPane.java:364)
at org.pentaho.reporting.engine.classic.core.modules.gui.base.ParameterReportController$ReportUpdateHandler.propertyChange(ParameterReportController.java:85)
at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:328)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
at java.awt.Component.firePropertyChange(Component.java:8428)
at org.pentaho.reporting.engine.classic.core.modules.gui.base.PreviewPane.setReportJob(PreviewPane.java:957)
at org.pentaho.reporting.designer.core.editor.preview.ReportPreviewComponent.updatePreview(ReportPreviewComponent.java:190)
at org.pentaho.reporting.designer.core.editor.ReportRendererComponent.showPreview(ReportRendererComponent.java:415)
at org.pentaho.reporting.designer.core.ReportDesignerFrame$FrameViewController.setPreviewVisible(ReportDesignerFrame.java:469)
at org.pentaho.reporting.designer.core.actions.global.ShowPreviewPaneAction.actionPerformed(ShowPreviewPaneAction.java:68)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)