2016-03-22 21 views
1

Varolan bir tablo var ve Mondrian Schema kullanarak bir OLAP küpünü modellemeye ihtiyacım var.
Aslında masa boyutu birincil anahtarın birkaç sütun vardır ama yazık sadece bir boyutta olan "tüm"Belirli bir değeri yok saymak için boyutu nasıl yapılandırabilirim

Örnek esası ile boyut değeri "0" ile birlikte bir satır bulunmaktadır: student_id:

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

öğrenci masa

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

Benim şeması yer almaktadır:

<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> 
Ben sonuç "46" var

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

:

Benim sorunum sorgusu yürütme olmasıdır tüm sınavlar toplamı student_id ile satır dahil = 0.

ben hariç tutmak istediğiniz şema, "0" değerine sahip boyutlarla ilişkili önlemleri alır. Mümkün mü?

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

Veya deneyin:

cevap

1

Bunu deneyebilirsiniz

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

alıyorum bu hatayı.:. "MDX nesnesi '[StudentUsage.Student] [Tüm StudentUsage.Student] & [0 ] 'küp içinde bulunamadı' studentCube '" – gascani

+0

Bu üyenin tam üye adı nedir?" "all" ifadesiyle "0" boyut değeri olan satır var mı? – SouravA

İlgili konular