2013-12-19 3 views
1

데이터베이스 연결이 MySQL을 통해 JDBC, 표준 innodb입니다. 이 두 차원과 한 측정 값을 가진 매우 간단한 데이터 원본을 만들었습니다.Petaho BA 서버에서 MDX 쿼리가 실패합니다

두 치수는 :

  • 위치 (문자열) (적어도 MySQL은 날짜/시간)
  • ddate

조치가 설정된 동일한 "위치"요소이며 계산시 집계하기

요일 (월 - 일 또는 1-7은 괜찮음)까지 위치별로 항목 수를 상당히 계산하려고합니다.

나는 다음과 같은 여러 가지 변형을 시도했다. 그 중 하나는 요일을 추출하기 위해 "... with member ... as ..."를 포함하여 모두 실패로 만났다.

SELECT 
NON EMPTY Hierarchize({ datepart("d",cdate([diDate.hDate].[mDate]) }) ON COLUMNS, 
NON EMPTY {Hierarchize({[diLocation.hLocation].[mLocation].Members})} ON ROWS 
FROM [k_olap] 

모든 도움을 주시면 감사하겠습니다. 난 시간이 & 시간 동안 내 머리를 두들겨 봤는데, 그것이 간단해야만처럼 & 간단하게 날짜의 단 한 부분에 대한 스키마에 전임 차원을 구축 할 필요없이 간단하게 보인다는 것, 어떤 Pentaho 학사 않습니다 웹 서버에서 쉽게 사용할 수 있습니다.

다음은 MySQL의 데이터 소스에서 펜타 BA에 의해 생성 된 XML 스키마는 다음과 같습니다

<Schema name="k_olap"> 
    <Dimension name="diDate"> 
    <Hierarchy name="hDate" hasAll="true" primaryKey="ID"> 
     <Table name="post" schema="kn"/> 
     <Level name="mDate" uniqueMembers="false" column="ddate"> 
     </Level> 
    </Hierarchy> 
    </Dimension> 
    <Dimension name="diLocation"> 
    <Hierarchy name="hLocation" hasAll="true" primaryKey="ID"> 
     <Table name="post" schema="kn"/> 
     <Level name="mLocation" uniqueMembers="false" column="location" type="String"> 
     </Level> 
    </Hierarchy> 
    </Dimension> 
    <Cube name="k_olap"> 
    <Table name="post" schema="kn"/> 
    <DimensionUsage name="diDate" source="diDate" foreignKey="ID"/> 
    <DimensionUsage name="diLocation" source="diLocation" foreignKey="ID"/> 
    <Measure name="mesLocation" column="location" aggregator="count" formatString="Standard"/> 
    </Cube> 
</Schema> 

답변

1

그걸 사용 후, 테이블의 컬럼으로 요일을 가지고 적절한 날짜 차원 및 계층 구조를 만듭니다.

http://type-exit.org/adventures-with-open-source-bi/2010/07/a-simple-date-dimension-for-mondrian-cubes/

+0

네,하지만 문제는 쿼리에서 문제를 구문에 해당하고, 스키마 변경을 포함하지 않는 애드혹 솔루션을 요구 :

는 여기를 참조하십시오. 공식적인 날짜 측정 기준의 장점을 알고 있지만 데이터 소스가 다양하고 다양하며 사용자가 임시 또는 일회성 요구에 대해 가질 수있는 모든 스프레드 시트 또는 CSV 파일의 모든 날짜 필드에 대해 날짜 측정 기준을 사용하여 스키마를 만들 수 없습니다. – Promethean

+0

충분히 정교합니다. 나는 MDX에서 datepart를 보지 못했습니다 - 어디에서 유효한 mdx 함수 였는지 보았습니까? 또한 MDX 오류 게시 - 볼 수 없으면 많은 도움이되지 않습니다. – Codek