JasperReports:“无效字段映射”/“第1:1行:意外令牌:[Measures]”错误XML-A数据源(Olap)

时间:2013-08-01 17:22:11

标签: java jasper-reports ireport mdx xmla

我正在使用olap数据源(XML-A服务器)构建一个生成报告的Java服务(使用JasperReports 4.0.5库)。 在iReport上,我编写XMLA-MDX查询,并正确地可视化预览。 但是当我在Java中运行它时,我会在执行时收到错误“第1:1行:意外令牌:[Measures] ”! 详细消息说: net.sf.jasperreports.engine.JRRuntimeException:无效的字段映射“[Measures]。[Full price]”。 这是代码:

 try{
      net.sf.jasperreports.engine.util.JRProperties.setProperty("net.sf.jasperreports.query.executer.factory.xmla-mdx", "net.sf.jasperreports.olap.xmla.JRXmlaQueryExecuterFactory");

      String url = "http://localhost/olap/msmdpump.dll";
      String ds = "localhost";
      String cat = "MyCat";

      Map parameters = new HashMap();
      parameters.put(JRXmlaQueryExecuterFactory.PARAMETER_XMLA_DATASOURCE, ds);
      parameters.put(JRXmlaQueryExecuterFactory.PARAMETER_XMLA_CATALOG, cat);
      parameters.put(JRXmlaQueryExecuterFactory.PARAMETER_XMLA_URL, url);

      String fileJasper = "I:\\Work\\prod_ireport\\myOlapReport.jasper";
      JasperPrint jp = JasperFillManager.fillReport(fileJasper, parameters);
 }
 catch (Exception e) {
      System.out.println(e.getMessage());
 }

这是jrxml文件中的MDX-XMLA查询

SELECT
  NON EMPTY {
    [Measures].[Full price]
  , [Measures].[Promo price]
  } ON COLUMNS,
  NON EMPTY {
    [Items].[Items Hierarchy].[Repo].Members
  , [Items].[Items Hierarchy].[Family].Members
  } ON ROWS
  FROM [MY CUBE]

我在哪里做错了?

1 个答案:

答案 0 :(得分:0)

尝试:

SELECT
  NON EMPTY ({
    [Measures].[Full price]
  , [Measures].[Promo price]
  }) ON COLUMNS,
  NON EMPTY ({
    [Items].[Items Hierarchy].[Repo].Members
  , [Items].[Items Hierarchy].[Family].Members
  }) ON ROWS
  FROM [MY CUBE]