2016-03-22 23 views
1

私は既存のファクトテーブルを持っており、モンドリアンスキーマを使用してOLAPキューブをモデリングする必要があります。
ファクトテーブルは、ディメンションテーブルの主キーを持つ複数の列を有しているが、不幸一次元のみで「すべて」特定の値を無視するようにディメンションを設定する方法

例の慣例寸法値「0」を有する行がある:STUDENT_ID:

| student_id |  exams 
+------------+------------- 
|   0 |   23 
|  20131 |   15 
|  20168 |   2 
|  20468 |   6 

学生テーブル

id | name 
-------+----------- 
20131 | John 
20168 | Daid 
20468 | Peter 
20629 | Paul 
22344 | Micheal 

私のスキーマは次のとおりです。

<Schema name="students"> 
    <Dimension type="StandardDimension" visible="true" name="StudentDimension"> 
    <Hierarchy name="Student" visible="true" hasAll="true" primaryKey="id"> 
     <Table name="student" schema="public" alias="" /> 
     <Level name="Nome" visible="true" column="name" type="String" uniqueMembers="false" levelType="Regular" /> 
    </Hierarchy> 
    </Dimension> 
    <Cube name="studentCube" visible="true" cache="true" enabled="true"> 
    <Table name="students_cube" schema="public" /> 
    <DimensionUsage source="StudentDimension" name="StudentUsage" visible="true" foreignKey="student_id" /> 
    <Measure name="Exams" column="exams" datatype="Numeric" aggregator="sum" visible="true" /> 
    </Cube> 
</Schema> 
私はその結果「46」を持つ

SELECT 
    {[Measures].[Exams]} ON COLUMNS, 
    {[StudentUsage.Student].[All StudentUsage.Student]} ON ROWS 
FROM [studentCube] 

私の問題は、クエリを実行することで、すべての試験の合計がSTUDENT_IDと行を含める= 0

私は除外したいのですがスキーマは値が「0」のディメンションに関連付けられています。出来ますか?

答えて

1

あなたはこの試みることができる:

SELECT 
    {[Measures].[Exams]} ON COLUMNS, 
    { 
    [StudentUsage.Student].[All StudentUsage.Student] - 
    [StudentUsage.Student].[All StudentUsage.Student].&[0] 
    } ON ROWS 
FROM [studentCube] 

か試してみてください。

SELECT 
    {[Measures].[Exams]} ON COLUMNS, 
    EXCEPT 
     (
     [StudentUsage.Student].[All StudentUsage.Student] , 
     [StudentUsage.Student].[All StudentUsage.Student].&[0] 
     ) ON ROWS 
FROM [studentCube] 
+0

を、私はこのエラーを取得:。。[StudentUsage.Student]「MDXオブジェクトを」[すべてのStudentUsage.Student]&[0 ] 'キューブに見つかりません' studentCube '" – gascani

+0

このメンバの完全修飾メンバ名は何ですか?"ディメンション値が "0"の行に "all" "という規則がありますか? – SouravA

関連する問題