zoukankan      html  css  js  c++  java
  • MDX函数

    MDX重点函数

    成员函数


    1、.CurrentMember

    • 获取运行时当前的成员,用法:<Dimension>.CurrentMember 。

    2、.Parent

    • 获取运行时当前的成员的父成员。用法:<Member>.Parent。

    3、.PrevMember/.NextMember

    • 返回当前成员的前一个/后一个成员。<Member>.FirstChild/LastChild

     4、.FirstChild/.LastChild

    • 返回当前成员的第一个/最后一个子成员。语法:<Member>.FirstChild/LastChild

     5、.FirstSibling/LastSibling

    • 返回当前同级的第一个/最后一个成员。语法:<Member>.FirstSibling/LastSibling。
    • 相当于 <Member>.Parent.FirstChild/.lastChild

     6、Ancestor

    • 返回特定级别的祖先成员。语法如下:
    • Ancestor(<Member>, <Level>)
    • Ancestor(<Member>, <Numeric Expression>)
    • ([Measures].[总电量], [运营类型大类].[运营类型大类].[运营类型大类].CurrentMember)/ sum(Ancestor([运营类型大类].[运营类型大类].[运营类型大类].CurrentMember,1))

       

    7、LAG

    • 返回当前成员开始往前数的本层的第几个成员,语法:<Member>.Lag(n)。
    • n是索引,0是它本身,1是前一个(.PrevMember)。

     8、OpeningPeriod/ClosingPeriod

    • 返回某个层次上第一个/最后一个后代成员,语法:OpeningPeriod([<Level>[, <Member>])。

    9、ParallelPeriod

    • 返回一个成员同层次对应位置的成员。语法:ParallelPeriod([<Level>[, <n>[, <Member>]]])。
    • 在时间维度上取同期(如上年同期)等时候要用到它。
    • 使用 PARALLELEPRIOD(Level, N, Member) 先把同比值查询出来,Level 指定的是年,1 表示 1年前,Member 就是指当前成员并且表示月。所以整个表达的意思就是查询当前成员1年前的相对应的那个月的 Reseller Sales Amount 的值是多少

    其它函数


    1、IS

    • 判断是否为同一个对象。语法: object is object2。

    2、IsEmpey

    • 判断一个值是否为空。语法:IsEmpey(表达式)。

    3、IIF

    • 根据条件返回值,类似 Excel 的 If 函数。语法:iif(<布尔表达式>, <值 1>, <值 2>)。
    • 如果布尔表达式为真,返回值 1,否则,返回值 2。

    4、ITEM

    • 根据索引返回集合中元素。语法:item(set, <index>)。
    • 返回类型一般为元组。

    计算成员


    • 假设你想创建一个度量,它的值不是来自事实表的列,而是来自一个 MDX 公式。一种方式使用 with member 字句,如下图:
    • 如果每个 MDX 查询中包含这个子句,更好的办法是,把这个成员定义到schema中,作为Cube定义的一部分,如下:
    • FORMAT_STRING 属性值同样可以使用一个表达式。当格式化一个特定单元格时,首先这个表达式会被运算以产生一个格式字符串,然后把这个格式字符串应用到单元格。下面使用一个条件化的格式字符串:
    • <CalculatedMemberProperty name="FORMAT_STRING" expression="Iif(Value < 0,'|($#,##0.00)|style=red', '|$#,##0.00|style=green')"/>

       

    • 计算成员的另外一个属性是 DATATYPE,可以有 String、IntegerNumeric 这些取值,如下:
    • 可以给计算成员指定 SOLVE_ORDER 属性,用于确定计算时的优先级,如下:
    • SOLVE_ORDER 属性是一个整数,默认是 0,值大者胜出
  • 相关阅读:
    suse系统FTP问题
    Oracle SQL编写注意事项
    EXP-00056: ORACLE error 6550 encountered报错;
    Linux 单网卡多 IP 的配置方法
    Authorized users only. All activity may be monitored and reported.
    使用jconsole检测linux服务器
    Suse系统用户不能登录报错
    性能测试介绍
    判断浏览器是否是手机端
    JSONP 跨域请求
  • 原文地址:https://www.cnblogs.com/tgzhu/p/9224753.html
Copyright © 2011-2022 走看看