• MDX 脚本语句 -- Scope


    在多维表达式 (MDX) 中,下列语句用于管理 MDX 脚本中的上下文、作用域和流控制。

    主题 说明
    calculate语句 计算子多维数据集,还可以确定子多维数据集中所包含的求解次序
    case语句 允许有条件地从多次比较中返回特定值
    existing关键字 强制在当前上下文中计算所指定的集
    freeze语句 将所指定子多维数据集的单元值锁定为其当前值
    if语句 如果条件为真,则执行语句
    scope语句 将指定MDX语句的作用域限制于指定的子多维数据集

    示例:

    假设有一组指标:原本指标的“Act”、“QOF”和“AOP”值,就是这些度量值本身的Sum。

    但是对于某个维度指标“服务组滚动离职率”来说,这三个度量值的计算公式则是“服务组滚动离职人数”(指标编码为205)/ 服务组平均在职人数(指标编码为24)。
    现在使用Scope脚本实现上述功能:

     
    scope

    (

    {

       [Measures].[KPI Act]

      ,[Measures].[KPI Q0F]

      ,[Measures].[KPI AOP]

      ,[Measures].[Forcast]

    }

    )

    [KPI].[KPI Hierarchy].[KPI].&[209]=iif

    (

             [KPI].[KPI Hierarchy].[KPI].&[24]=0

            ,null

            ,[KPI].[KPI Hierarchy].[KPI].&[205]/[KPI].[KPI Hierarchy].[KPI].&[24]

    )


    end scope

    这样,如果未来使用指标“服务组滚动离职率”的“Act”等值的时候,其数值不是直接引用“Act”字段的值,而是上述计算公式计算以后得到的值。

    附:脚本语法

    Subcube_Expression ::=(Auxiliary_Subcube [, Auxiliary_Subcube,...n])

    Auxiliary_Subcube ::=
    Limited_Set
    | Root([dimension_name])
    | Leaves([dimension_name])

    Limited_Set ::=
    single_tuple
    | member
    | Common_Grain_Members
    | hierarchy.members
    | level.members
    | {}
    | Descendants
    (
    Member
    , [level
    [
    , SELF
    | AFTER
    | BEFORE
    | SELF_AND_AFTER
    | SELF_AND_BEFORE
    | SELF_BEFORE_AFTER
    | LEAVES
    ]
    )
    [* <limited set>]

  • 相关阅读:
    UART和RS232/RS485的关系是什么?
    Async & Await 的前世今生
    asp.net EFcore配置链接sqlserver
    ASP.NET Core启动流程
    ASP.NET Core 过滤器
    Nginx简介及配置文件详解
    3.ASP.NET Core Docker学习-构建单机多容器环境
    2.ASP.NET Core Docker学习-镜像容器与仓库
    asp.net core 依赖注入
    1.ASP.NET Core Docker学习-Docker介绍与目录
  • 原文地址:https://www.cnblogs.com/chunshen/p/5158221.html
Copyright © 2020-2023  润新知