<Dimension foreignKey="EMPLOYEE_ID" name="Employee">
<Hierarchy hasAll="true" primaryKey="EMPLOYEE_ID">
<Table name="TB_EMPLOYEE" schema="MYORACLE">
</Table>
<Level name="employeeId" column="EMPLOYEE_ID"
nameColumn="EMPLOYEE_NAME" type="String" uniqueMembers="true" levelType="Regular"
hideMemberIf="Never">
<Property name="IsNew" column="EMPLOYEE_NEW"
type="Numeric">
</Property>
</Level>
</Hierarchy>
</Dimension>
前面是一个Employee维度的定义(后面还会用到Measure Salary,就是薪水这个Measure,定义就不在这里贴出来了),注意里面有IsNew属性的定义,IsNew有两个值,0和1。现在我需要通过IsNew来进行自定义显示,需要的时候显示0,或1或0,1。
MDX查询
(1)显示IsNew属性值 大于等于0 的[Employee]成员
select Measures.Salary on columns,
filter( { [Employee].[All Employees].Children } , [Employee].CurrentMember.Properties("IsNew") >= 0 ) on rows from Cube
结果:
Axis #0:
{}
Axis #1:
{[Measures].[Salary]}
Axis #2:
{[Employee].[All Employees].[张三]}
{[Employee].[All Employees].[李四]}
{[Employee].[All Employees].[王五]}
Row #0: 3,300
Row #1: 1,500
Row #2: 6,000
(2)显示IsNew属性值等于0的[Employee]成员
select Measures.Salary on columns,
filter( { [Employee].[All Employees].Children } , [Employee].CurrentMember.Properties("IsNew") = 0 ) on rows from Cube
结果:
Axis #0:
{}
Axis #1:
{[Measures].[Salary]}
Axis #2:
{[Employee].[All Employees].[张三]}
{[Employee].[All Employees].[李四]}
Row #0: 3,300
Row #1: 1,500