0

DimesionUsageをXmlに追加すると、Javaのmondrian.olap.Schema.createCube(xml)でエラーが発生する

myXML.xml を作成します。

<Cube cache="false" caption="" enabled="true" name="Deposit,LC,Loan">
 <View alias="virtualCube">
  <SQL dialect="generic">
  " some SQL query "
  </SQL>
 </View>
 <DimensionUsage foreignKey="FD_BRANCH" name="Branch" source="Branch"/>
 <DimensionUsage foreignKey="FD_CLOSEDATE" name="Date" source="Date"/>
 <DimensionUsage foreignKey="FD_CURRENCY" name="Currency" source="Currency"/>
 <Measure aggregator="sum" caption="" column="CNT" name="Count"/>
 <Measure aggregator="sum" caption="" column="ACCOUNT" name="AccAmount"/>
</Cube>

しかし、私が呼び出すmondrian.olap.Schema.createCube(myXML) と、以下のエラーが表示されます:

Exception in thread "main" java.lang.NullPointerException
at mondrian.olap.MondrianDef$DimensionUsage.getDimension(MondrianDef.java:990)
at mondrian.rolap.RolapCube.getOrCreateDimension(RolapCube.java:778)
at mondrian.rolap.RolapCube.<init>(RolapCube.java:197)
at mondrian.rolap.RolapCube.<init>(RolapCube.java:228)
at mondrian.rolap.RolapSchema.createCube(RolapSchema.java:847)

編集

このエラーは、複数の階層がある "Branch" でのみ発生しますが、Mondrian Schema の他のキューブでは正しく機能しました。

理由を知っている人はいますか?

4

1 に答える 1

0

モンドリアンの虫だった…

私の「ブランチ」ディメンションには複数の階層がありますが、他のディメンションにはありません。

解決策は次のとおりです。

DimensionUsage foreignKey="FD_BRANCH" name="Branch.hierarchyName" source="Branch"/>

複数の階層がある場合は、このようにする必要があり、完全に機能します!

于 2013-08-06T07:09:07.327 に答える