Mdx 如何将维度配置为忽略特定值

Mdx 如何将维度配置为忽略特定值,mdx,business-intelligence,olap,olap-cube,mondrian,Mdx,Business Intelligence,Olap,Olap Cube,Mondrian,我有一个现有的事实表,需要使用Mondrian模式对OLAP多维数据集进行建模。 事实表中有多个列的主键为维度表,但不幸的是,有一行的维度值为“0”,约定为“all” 只有一个维度的示例:学生id: | student_id | exams +------------+------------- | 0 | 23 | 20131 | 15 | 20168 | 2 | 20468 |

我有一个现有的事实表,需要使用Mondrian模式对OLAP多维数据集进行建模。
事实表中有多个列的主键为维度表,但不幸的是,有一行的维度值为“0”,约定为“all”

只有一个维度的示例:学生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”:所有考试的总和,包括student_id=0的行

我想在模式中排除与值为“0”的维度关联的度量。有可能吗?

您可以尝试以下方法:

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]

我收到以下错误:“在多维数据集中未找到MDX对象'[StudentUsage.Student].[All StudentUsage.Student].&[0]'”此成员的完全限定成员名称是什么..“有维度值为“0”且约定为“All”的行?”?
SELECT 
    {[Measures].[Exams]} ON COLUMNS,
    EXCEPT
       (
        [StudentUsage.Student].[All StudentUsage.Student] , 
        [StudentUsage.Student].[All StudentUsage.Student].&[0]
       ) ON ROWS 
FROM [studentCube]