通过过滤度量值在 MDX 中定义计算成员

2023-11-29

我需要在 MDX 中定义一个计算成员(这是 SAS OLAP,但我很感谢使用不同 OLAP 实现的人员提供的答案)。

新度量的值应通过应用附加过滤条件根据现有度量计算得出。我想通过一个例子会更清楚:

  • 现有衡量标准:“总流量”
  • 现有维度:“方向”(“入”或“出”)
  • 我需要创建一个计算成员“传入流量”,它等于带有附加过滤器的“总流量”(方向 =“In”)

问题是我不了解 MDX,而且我的日程安排非常紧张(很抱歉提出一个新手问题)。我能想到的最好的办法是:

([Measures].[Total traffic], [Direction].[(All)].[In])

除了具有特定方向的单元格之外,这几乎有效:

example

所以看起来方向上的“固有”过滤器被我自己的过滤器覆盖了)。我需要“内在”过滤器和我自己的过滤器的交集。我的直觉是这与相交有关[Direction].[(All)].[In]正在评估细胞的内在坐标,但如果不先阅读该主题,就很难知道我需要什么:)

[update]我最终得到

IIF([Direction].currentMember = [Direction].[(All)].[Out],
    0,
    ([Measures].[Total traffic], [Direction].[(All)].[In])
)

..但至少在 SAS OLAP 中,这会导致对基础数据集执行额外的查询(以计算 [in] 的值),所以我最终没有使用它。


首先,您可以在 MDX 中定义一个新的计算度量,并告诉它使用另一个度量的值,但应用了过滤器:

WITH MEMBER [Measures].[Incoming Traffic] AS
'([Measures].[Total traffic], [Direction].[(All)].[In])'

每当您在报表上显示新度量时,无论是否使用“方向”维度,它都会表现得好像其上具有“方向 > 内”过滤器。

但就您而言,您希望在使用时优先考虑方向维度......所以事情会变得有点混乱。您必须检测该维度是否正在使用,并采取相应措施:

WITH MEMBER [Measures].[Incoming Traffic] AS
'IIF([Direction].currentMember = [Direction].[(All)].[Out],
    ([Measures].[Total traffic]),
    ([Measures].[Total traffic], [Directon].[(All)].[In])
)'

要查看维度是否正在使用,我们检查当前单元格是否正在使用 OUT。如果是这样,我们可以按原样返回总流量。如果没有,我们可以告诉它在我们的元组中使用 IN。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过过滤度量值在 MDX 中定义计算成员 的相关文章

  • SAS 替换所有列中的字符

    我有一个 SAS 数据集 必须导出到 csv 文件 我有以下两个相互矛盾的要求 我必须使用分号作为 csv 文件中的分隔符 一些字符变量是从公式中手动输入的字符串 因此它们可能包含分号 我对上述问题的解决方案是转义分号或用逗号替换它 我怎样
  • MDX SSAS - 最大测量日期

    只需要在多维数据集中的所有测量中获取最大日期即可 例如 DateID is a Dimention Measure First Measure Second Measure 如何获取列表MAX DateID 来自我的立方体中的所有措施 以下
  • 解析宏变量名称中包含 %eval 的宏,SAS

    这是一个玩具示例 旨在帮助解决我遇到的更大问题 它本质上涉及在引用更大的宏变量名称时使用 eval 宏 我创建了一个宏变量 x 2 它使用循环 it 的值 从最终输出可以看出该变量已成功创建 但是我只能将其放入日志而不评估 it 1 这当使
  • 将 SAS 数据集中的观测值读入数组

    这个问题与大型机上的 SAS 相关 尽管我相信在这种情况下没有什么区别 我有以下 SAS 数据集 Obs DATO T ALLOC T FRESP 1 19328 647 1804 2 19359 654 1797 3 19390 662
  • SAS中是否有相当于R函数表的?

    在 R 中 函数table使用交叉分类因素构建列联表 是否有一个等效的 SAS PROC 可以重现此 R 函数的结果 Example x lt data frame x rep 1 2 times 5 y rep 1 2 each 5 ou
  • 如何使用 proc Compare 更新数据集

    我想用proc compare每天更新数据集 work HAVE1 Date Key Var1 Var2 01Aug2013 K1 a 2 01Aug2013 K2 a 3 02Aug2013 K1 b 4 work HAVE2 Date
  • Java 中的内存 OLAP 引擎 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有内存中 OLAP 切片和切块数据 Java 库 相当于 Microsoft 分析服务 特别想听听
  • 宏中的 SAS 宏

    我有一个关于 macro 的问题 我可以在另一个 宏中设置 宏吗 简短的例子 情况的 图片 macro Tier 1 do Iter 1 to i macro Tier 2 proc sql noprint select 1 Iter in
  • sas7bdat 变量名称中带有空格

    我收到了几个扩展名为 sas7bdat 的 SAS 数据集文件 我在 Windows 上使用 SAS 9 3 这些文件的创建者显然使用了不同的环境和 或软件 许多文件的 var 名称包含空格和其他无效字符 甚至运行一个proc conten
  • 使用 Python 重新打开与 Power BI XMLA 端点的连接时出错

    我有以下 python 代码 它在函数运行时工作正常 但在第二次运行时失败 import adodbapi def connect and print input str print Function starting input str
  • 在 SAS 中生成数组的所有唯一排列

    在 SAS 中 如果我有一个如下所示的字符串或数组 array x 4 1 A B C D 我需要生成元素的所有 独特 排列 如下所示 ABCD ABC BCD ACD ABD AB AC AD BC BD CD A B C D SAS中有
  • 使用 SAS EG 通过代理从 API 下载 JSON 文件

    我正在尝试使用瑞士当局提供的 API 对公司网络内的地址进行地理编码 我的公司使用带有用户名和密码的代理服务器 我是 SAS EG 的新手 这是我迄今为止拥有的代码 我必须匿名一些内容才能被允许在此处发布 filename response
  • 使用 SAS 导出到 Excel

    假设我有 2 个 SAS 数据集 test1 sas 和 Test2 sas 现在我想将这2个数据集导出到Excel中 其中Excel文件Sheet1中将有test1 sas数据 Sheet2中将有test2 sas数据 怎么做 从 开始这
  • SAS,按组求和

    我想通过var1计算总和 你能用两种方法来计算吗 SQL 和数据步骤使用 if first var1 data have input var1 var2 var3 datalines 1 a 3 1 a 4 1 a 3 2 b 5 2 b
  • 在 LINUX 上使用 Python 连接到 OLAP 多维数据集

    我知道如何在 Windows 上使用 Python 连接到 MS OLAP 多维数据集 嗯 至少有一种方法 通常我使用 win32py 包并调用 COM 对象进行连接 import win32com client connection wi
  • 什么是多维 OLAP CUBE 并给出超过 3 维的多维数据集示例

    由于我是 SSAS 的新手 一直在阅读有关多维 OLAP 多维数据集的文章 并努力理解多维数据集的概念 据说虽然术语 多维数据集 表示三个维度 但多维数据集最多可以有 64 个维度 你能解释一下这在立方体上怎么可能吗 除了 3 Dim 示例
  • SQL - 每个级别都有记录的递归树层次结构

    尝试使用 SAS 据我所知 不支持WITH RECURSIVE 在 SQL 中创建经典的层次结构树 这是现有表中的简化数据结构 USER ID SUPERVISOR ID 因此 要构建层次结构 您只需递归连接 x 次即可获取您要查找的数据
  • 从数据变量生成宏变量的宏函数

    data sample input x datalines one two three macro variable to macvar variable dataset proc sql noprint select variable i
  • 以编程方式添加 Adomd 参数 C#

    下午都 我正在构建一个 Web 应用程序 并尝试从 SSAS 多维数据集中提取一些数据 我想在 c 中复制以下 MDX 但添加一些参数 即两个参数 一个用于公司 123 另一个用于位置 1 SELECT NON EMPTY Dim Unit
  • Hadoop 超立方体

    嘿 我正在启动一个基于 hadoop 的超立方体 具有灵活的维度数 有人知道这方面现有的方法吗 我刚刚发现PigOLAP草图 http wiki apache org pig PigOLAPSketch 但没有代码可以使用它 另一种方法是Z

随机推荐

  • 从自定义框架访问故事板不起作用

    嗨 我必须从自定义框架访问故事板 LoginUIModule LoginUIModule有故事板LoginScreen storyboard 在应用程序委托中 我从主界面中删除了主故事板 还从主故事板文件基本名称中以及 plist 中删除了
  • 如何避免网络音频 api 的 CORS 限制?

    我试图为音频流创建一些可视化 但是当我尝试使用以下命令访问原始音频数据时 我遇到了 CORS 问题createMediaElementSource 功能 有没有办法避免这种限制并从其他来源的流中获取原始音频数据 也许使用 WebSocket
  • 为什么添加额外的标头会导致 AJAX 调用失败

    AJAX 调用 ajax url http myserver2 296 api Demo HelloWorld type GET dataType JSONP jsonp callback headers API KEY mykey0909
  • 在发生异常时将临时对象绑定到非常量引用

    我一直读到 在函数调用的情况下 临时变量只能与非常量引用参数绑定 CASE 1 例如 class Simple public int i Simple Simple f i f i 1 Simple int j i j int main S
  • 如何使用 AFNetworking AFHTTPRequestOperationManager 显示进度条

    当我从 url 下载 JSON 时 我试图显示进度栏 JSON 正在正确下载 但我不确定如何显示进度栏 我尝试过使用UIProgressView但它不显示在屏幕上 任何建议 将不胜感激 CGFloat width UIScreen main
  • XPage:IBM OneUI 与 Bootstrap

    在不久的将来 我必须更新一个更大的 XPage 应用程序 开发时间超过三年 现在运行在Domino Server 8 5 3 FP6 to Domino Server 9 在此应用程序中我使用IBM OneUIv2 1但我不确定是否应该进一
  • R:命名矩阵的不同方法

    我正在使用 R 编程语言 在R的 数据集 库中 有一个名为 eurodist 的数据集 其中包含每个城市组合之间的距离 library datasets 然后可以将该数据集转换为 矩阵 eurodist as matrix eurodist
  • React Context 是道具钻探的解药吗?

    如果 React Context API 旨在用于传递全局变量 那么我们为什么要使用它们来替代从父组件到子组件传递 props prop 钻取 由于大多数传递的 props 并不意味着在应用程序范围内 即全球范围内 可用 上下文中定义的变量
  • 如何在 Java 中将图像/文件上传到 Firebase 存储?

    我正在开发一个功能 需要使用 java 将图像 文件上传到 firebase 存储并将其公开为 API 我已经在 Angular 4 TypeScript 中实现了此功能 但现在我需要这个方法作为 Java Rest API 这样我的同伴也
  • Android 上的 Apache HttpClient 产生 CertPathValidatorException (IssuerName != subjectName)

    我正在开发一个Android应用程序来访问一些battle net https eu battle net 帐户数据 对于魔兽世界 我正在使用org apache http client HttpClient这样做 这是我正在使用的代码 p
  • 具有不同调度程序间隔的气流ExternalTask​​Sensor

    目前我有两个 DAG DAG A 和 DAG B 两者都运行schedule interval timedelta days 1 DAG A 有一个 Task1 通常需要 7 小时才能运行 而DAG B只需要3个小时 DAG B 有一个Ex
  • 在 Grails 3.x 中安装和使用 MongoDB

    我一直在关注曼宁Grails 的实际应用 但是他们关于配置数据源的部分对于 Grails 3 0 3 来说已经过时了 我的意图是从H2的默认数据源转换为MongoDB版本3 0 2 Google 搜索产生了相互矛盾的结果 许多答案通常是针对
  • 避免在 JavaScript 中嵌套 if [重复]

    这个问题在这里已经有答案了 我需要检查是否auth runtime status等于 200 但是auth runtime是undifend 有没有更优雅的方法在nodejs中做到这一点 if auth runtime if auth ru
  • AJAX 发布错误:拒绝设置不安全标头“连接”

    我有以下自定义 ajax 函数 可将数据发送回 PHP 文件 每次发布数据时 我都会收到以下两个错误 拒绝设置不安全标头 Content length 拒绝设置不安全标头 连接 Code function passposturl url1
  • 使用 Google Drive API v3 移动文件

    我正在尝试使用 Google Drive API v3 将文件从一个文件夹移动到另一个文件夹 我找到了文档如何做到这一点here 我使用了文档页面中的 NET 示例代码并创建了一个如下所示的方法 public ActionResult Mo
  • CodeIgniter活动记录调用多个存储过程的问题

    class Registration model extends CI Model function construct parent construct function check email availability email sq
  • 将日期字符串转换为 Int Swift

    我正在尝试转换字符串 let time 7 30 为整数 let hour Int 7 let minutes Int 30 我目前正在循环字符串 for char in time characters 但我不知道如何将 char 转换为
  • 在 JavaScript 中捕获 302 FOUND

    我使用 jQuery 向我的服务器发出 AJAX POST 请求 该请求可以返回状态为 302 的 HTTP 响应 然后 JavaScript 仅向此 URL 发送 GET 请求 而我想将用户重定向到此响应中的 URL 这可能吗 由于给出的
  • 为什么我的golang无锁队列总是卡在那里?

    这是我的代码 package main import sync atomic unsafe sync fmt time const MAX DATA SIZE 100 lock free queue type Queue struct he
  • 通过过滤度量值在 MDX 中定义计算成员

    我需要在 MDX 中定义一个计算成员 这是 SAS OLAP 但我很感谢使用不同 OLAP 实现的人员提供的答案 新度量的值应通过应用附加过滤条件根据现有度量计算得出 我想通过一个例子会更清楚 现有衡量标准 总流量 现有维度 方向 入 或