您的位置:首页 > 其它

MDX语言中的Filter

2010-08-19 20:37 302 查看
<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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: