• MDX语言中的Filter


    <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

  • 相关阅读:
    C和C++内存模型
    makefile 学习归纳
    为知笔记给你更多
    二级指针探讨
    使用vscode书写博客
    C/C++ 笔试题一
    从一段经典错误代码说起——关于局部变量指针和函数传参的问题分析
    socket编程再分析(-)——基础
    samba服务器配置
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />详解
  • 原文地址:https://www.cnblogs.com/iammatthew/p/1803903.html
Copyright © 2020-2023  润新知