如何使用参数在BIRT中过滤XPath查询结果

时间:2017-02-01 18:48:33

标签: xml eclipse xpath birt

我正在尝试使用xml数据源在BIRT中设计报告,该报告由rest url返回。我想根据选定的细节设计报告。 所以基本上我想应用过滤标准。使用以下格式应用过滤器

工具:Eclipse BIRT报告设计器XML选项卡编辑器。版本:4.6.0.v201606072122

在行映射中: /进料/进入/内容/米:属性/ [@ d:ID = {?idparam?}]

它有什么问题。

抛出异常。

Exception: org.eclipse.birt.data.engine.odaconsumer.OdaDataException: Cannot execute the statement.
    org.eclipse.datatools.connectivity.oda.OdaException: The filter definition is invalid. 

at org.eclipse.birt.data.engine.odaconsumer.ExceptionHandler.newException(ExceptionHandler.java:52)

at org.eclipse.birt.data.engine.odaconsumer.ExceptionHandler.throwException(ExceptionHandler.java:108)

at org.eclipse.birt.data.engine.odaconsumer.ExceptionHandler.throwException(ExceptionHandler.java:84)

at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.execute(PreparedStatement.java:586)

at org.eclipse.birt.data.engine.executor.DataSourceQuery.execute(DataSourceQuery.java:980)

at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.executeOdiQuery(PreparedOdaDSQuery.java:607)

at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1251)

at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:233)

at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:178)

at org.eclipse.birt.report.engine.api.impl.ExtractionResults.nextResultIterator(ExtractionResults.java:157)

at org.eclipse.birt.report.designer.data.ui.dataset.DataSetPreviewer.preview(DataSetPreviewer.java:69)

at org.eclipse.birt.report.designer.data.ui.dataset.ResultSetPreviewPage$5.run(ResultSetPreviewPage.java:372)

at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)

Caused by: org.eclipse.datatools.connectivity.oda.OdaException: The filter definition is invalid. 

at org.eclipse.datatools.enablement.oda.xml.util.RelationInformation.getFilterValue(RelationInformation.java:240)

at org.eclipse.datatools.enablement.oda.xml.util.RelationInformation.initialize(RelationInformation.java:130)

at org.eclipse.datatools.enablement.oda.xml.util.RelationInformation.<init>(RelationInformation.java:58)

at org.eclipse.datatools.enablement.oda.xml.impl.ResultSet.<init>(ResultSet.java:80)

at org.eclipse.datatools.enablement.oda.xml.impl.Query.executeQuery(Query.java:137)

at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQuery.doExecuteQuery(OdaQuery.java:480)

at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQuery.executeQuery(OdaQuery.java:444)

at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.execute(PreparedStatement.java:575)

... 9 more

XML:

<content type="application/xml">
  <m:properties>
    <d:id m:type="Edm.Int32">1</d:id>
    <d:external_id m:type="Edm.Int64">300000005060316</d:external_id>
    <d:salutation m:null="true" />
    <d:first_name>Shinichi(N)</d:first_name>
    <d:middle_name>E</d:middle_name>
    <d:last_name>Kudo</d:last_name>
    <d:person_number>12862</d:person_number>
    <d:work_email>shinichi@testmail.com</d:work_email>
    <d:work_phone_area_code>02</d:work_phone_area_code>
    <d:work_phone_country_code>63</d:work_phone_country_code>
    <d:work_phone_number>249-487-7110 x73977</d:work_phone_number>
    <d:work_phone_extension>111</d:work_phone_extension>
    <d:mobile_phone_country_code>02</d:mobile_phone_country_code>
    <d:mobile_phone_area_code>63</d:mobile_phone_area_code>
    <d:mobile_phone_number>(392)312-1107 x1599</d:mobile_phone_number>
    <d:date_of_birth m:type="Edm.DateTime">1998-12-10T00:00</d:date_of_birth>
    <d:legal_entity_id m:type="Edm.Int32">2</d:legal_entity_id>
    <d:hire_date m:type="Edm.DateTime">2016-09-01T00:00</d:hire_date>
    <d:termination_date m:type="Edm.DateTime">2019-12-12T00:00</d:termination_date>
    <d:gender>M</d:gender>
    <d:effective_start_date m:type="Edm.DateTime">2016-09-01T00:00</d:effective_start_date>
    <d:username>RYAN.SITEAM@ORACLE.COM</d:username>
    <d:religion_id m:type="Edm.Int64">1</d:religion_id>
    <d:issue_date m:type="Edm.DateTime">2015-10-09T00:00</d:issue_date>
    <d:passport_number>232123</d:passport_number>
    <d:passport_id m:type="Edm.Int64">64227</d:passport_id>
    <d:known_as>A</d:known_as>
    <d:passport_expiration_date m:type="Edm.DateTime">2018-10-09T00:00</d:passport_expiration_date>
    <d:creation_date m:type="Edm.DateTime">2017-01-30T10:11:08</d:creation_date>
    <d:last_update_date m:type="Edm.DateTime">2016-09-05T14:09:31</d:last_update_date>
    <d:address_id m:type="Edm.Int32">1</d:address_id>
    <d:mobile_phone_extension m:null="true" />
    <d:scheduler_op_code m:null="true" />
    <d:legacy_employee_identifier m:null="true" />
    <d:wtd_opt_in m:null="true" />
  </m:properties>
</content>

0 个答案:

没有答案