0

Pentaho で Saiku プラグインを使用してキューブを分析しています。すべての寸法フィールドと測定フィールドが表示されますが、ファクトは表示されず、すべてのセルが空です。(ツールバーで「空でない」オプションが選択されている場合、Saiku は「結果なし」を返します。オプションが選択されていない場合、すべてのメンバーを列と行に正しくリストしたテーブルが表示されます - セル値はありません)。列と行のメンバー値が正しいため、Saiku がキューブ xml ファイルと MySQL データ ソースを正しく読み取っていることがわかります。指定された測定値に問題がある可能性があると思いますが、エラーは見つかりません (コンソールやログにエラーはありません)。Saiku でキューブ化するときに選択した次元に関係なく、この問題が発生することに注意してください。これは私が schema workbench で作成した Mondrian スキーマ ファイルです。

<Schema name="Test Small4">
<Cube name="Policy Cube" caption="A small test" visible="true" description="Policy data description" cache="true" enabled="true">
<Table name="fact_policy">
</Table>
<Dimension type="StandardDimension" visible="true" foreignKey="deductable_id" highCardinality="false" name="Deductable" caption="Caption: deductable">
  <Hierarchy visible="true" hasAll="false">
    <Table name="deductable">
    </Table>
    <Level name="Deductable Type" visible="true" column="type" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never">
    </Level>
    <Level name="Deductable Limit" visible="true" column="deductable_limit" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never">
    </Level>
    <Level name="Deductable Cap" visible="true" column="cap" type="Numeric" uniqueMembers="false" levelType="Regular" hideMemberIf="Never">
    </Level>
  </Hierarchy>
</Dimension>
<Dimension type="StandardDimension" visible="true" foreignKey="endorsement_id" highCardinality="false" name="Endorsement" caption="Caption: Endorsement">
  <Hierarchy visible="true" hasAll="true">
    <Table name="endorsement">
    </Table>
    <Level name="Endorsement Type" visible="true" column="type" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never">
    </Level>
    <Level name="Endorsement Number" visible="true" column="number" type="Numeric" uniqueMembers="false" levelType="Regular" hideMemberIf="Never">
    </Level>
    <Level name="Endorsement Effective Date Regular" visible="true" column="effective_date" type="Date" uniqueMembers="false" levelType="Regular" hideMemberIf="Never">
    </Level>
  </Hierarchy>
</Dimension>
<Measure name="Quantity Unique Rate" column="rate" datatype="Numeric" aggregator="distinct-count" visible="true">
</Measure>
<Measure name="Average Rate" column="rate" datatype="Numeric" aggregator="avg" visible="true">
</Measure>
<Measure name="Average Premium" column="premium" datatype="Numeric" formatString="#,###" aggregator="avg" visible="true">
</Measure>
<Measure name="Num Rates" column="rate" datatype="Integer" aggregator="distinct-count" visible="true">
</Measure>
<Measure name="String test" column="rate" datatype="String" aggregator="distinct count" visible="true">
</Measure>
<Measure name="Sum test" column="system_id" datatype="Integer" aggregator="sum" visible="true">
</Measure>
<Measure name="Test" column="system_id" datatype="Integer" formatString="Standard" aggregator="count" visible="true">
</Measure>
<CalculatedMember name="Premium Rate dif" formula="[Measures].[Average Rate]-[Measures].[Average Premium]" dimension="Measures" visible="true">
</CalculatedMember>

なぜこれが考えられるのでしょうか?この問題をデバッグするにはどうすればよいですか?

4

1 に答える 1

2

階層に primaryKey 属性がありません。Dimension 要素には、ファクト テーブルの列を正しく識別する foreignKey 属性がありますが、Hierarchy 要素は、結合を実行するためにディメンション テーブルから primaryKey を指定していません。

そのため、すべての結合で 0 行が返されます。(スキーマのテスト中に結合条件が不正であることが予想されるため、モンドリアンがそのようなスキーマを受け入れるとは思いもしませんでした)

于 2014-06-12T15:14:21.017 に答える