1

I'm building a Java service that generates reports (with the JasperReports 4.0.5 library), with olap datasource (XML-A server). On iReport I write XMLA-MDX query and I visualize correctly the preview. But when I run it in Java, I get error "line 1:1: unexpected token: [Measures]" on execution! Detail message says: net.sf.jasperreports.engine.JRRuntimeException: Invalid field mapping "[Measures].[Full price]". This is the code:

 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());
 }

And this is MDX-XMLA query in jrxml file

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]

Where am I doing wrong?

T. Phanelly
  • 189
  • 5
  • 17
  • From the URL, I assume you are accessing an MS Analysis Services cube. Can you execute the MDX from an MDX window in MS Management Studio when you enter the above URL as the server name? – FrankPl Aug 06 '13 at 11:18

1 Answers1

0

try:

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]