2013-08-01 2 views
1

JasperReports 4.0.5 라이브러리), olap 데이터 소스 (XML-A 서버). iReport에서 XMLA-MDX 쿼리를 작성하고 미리보기를 올바르게 시각화합니다. 하지만 Java로 실행하면 "line 1 : 1 : 예기치 않은 토큰 : [Measures]"실행시 오류가 발생합니다! 세부 메시지 : net.sf.jasperreports.engine.JRRuntimeException : "[Measures]. [정가]"의 필드 매핑이 잘못되었습니다. 이 코드입니다 :
JasperReports : "잘못된 필드 매핑"/ "1 : 1 : 예상치 못한 토큰 : [Measures]"오류 XML-A 데이터 소스 (Olap)

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] 

어디서 잘못하고 있는가?

+0

, 나는 당신이 MS Analysis Services 큐브에 액세스하는 가정합니다. 위 URL을 서버 이름으로 입력 할 때 MS Management Studio의 MDX 창에서 MDX를 실행할 수 있습니까? – FrankPl

답변

0

시도 : URL에서

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] 
관련 문제