mondrian中用mdx计算父级百分比和整体百分比

2024-05-31 04:32

本文主要是介绍mondrian中用mdx计算父级百分比和整体百分比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

mdx计算父级百分比:

 

Mdx代码   收藏代码
  1. With  
  2. //整体百分比  
  3. Member [Measures].[用户的百分比1] as   
  4. ([Measures].[总用户] / ([Measures].[总用户], [时间].CurrentMember.Parent))  
  5. , format_string = "|#.00%|"  
  6. Member [Measures].[用户的百分比2] as   
  7. ([Measures].[总用户] / ([Measures].[总用户], [客户].CurrentMember.Parent, [时间].CurrentMember.Parent))  
  8. , format_string = "|#.00%|"  
  9. SELECT  
  10. NON EMPTY {[Measures].[总用户], [Measures].[用户的百分比1], [Measures].[用户的百分比2]} ON COLUMNS,  
  11. NON EMPTY CrossJoin([客户].[客户编号].Members, [时间].[日].Members) ON ROWS  
  12. FROM [TotalUserCube]  

 mdx计算整体百分比

Mdx代码   收藏代码
  1. With  
  2. //整体百分比  
  3. Member [Measures].[用户的整体百分比] as   
  4. ([Measures].[总用户] / ([Measures].[总用户], [时间].[All 时间s]))  
  5. , format_string = "|#.00%|"  
  6. SELECT  
  7. NON EMPTY {[Measures].[总用户], [Measures].[推送用户的百分比]  
  8. } ON COLUMNS,  
  9. NON EMPTY {Hierarchize({[时间].[日].Members})} ON ROWS  
  10. FROM [TotalUserCube]  

好的,你已经获得了你想要的精确的计算指标。然而你不可能让用户也去看这些复杂的MDX表达式,并且做复制和粘贴。此外,随着时间推移,这些表达式还可能发生变化。所以,一个更好的办法是,让这些MDX成为你的cube的一部分。这样,你的用户就可以仅仅引用它们,而不需要理会这些表达式的复杂性。

 

在Mondrian的设计器Schema Workbench中配置如下指标,其xml如下:

Xml代码   收藏代码
  1. <CalculatedMember name="User Percent of Total" dimension="Measures" formula="([Measures].[总用户] / ([Measures].[总用户], [时间].CurrentMember.Parent))" />  

这篇关于mondrian中用mdx计算父级百分比和整体百分比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017384

相关文章

mybatis的整体架构

mybatis的整体架构分为三层: 1.基础支持层 该层包括:数据源模块、事务管理模块、缓存模块、Binding模块、反射模块、类型转换模块、日志模块、资源加载模块、解析器模块 2.核心处理层 该层包括:配置解析、参数映射、SQL解析、SQL执行、结果集映射、插件 3.接口层 该层包括:SqlSession 基础支持层 该层保护mybatis的基础模块,它们为核心处理层提供了良好的支撑。

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

计算数组的斜率,偏移,R2

模拟Excel中的R2的计算。         public bool fnCheckRear_R2(List<double[]> lRear, int iMinRear, int iMaxRear, ref double dR2)         {             bool bResult = true;             int n = 0;             dou

JS和jQuery获取节点的兄弟,父级,子级元素

原文转自http://blog.csdn.net/duanshuyong/article/details/7562423 先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比。 JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素。 <div id="test"><div></div><div></div

GPU 计算 CMPS224 2021 学习笔记 02

并行类型 (1)任务并行 (2)数据并行 CPU & GPU CPU和GPU拥有相互独立的内存空间,需要在两者之间相互传输数据。 (1)分配GPU内存 (2)将CPU上的数据复制到GPU上 (3)在GPU上对数据进行计算操作 (4)将计算结果从GPU复制到CPU上 (5)释放GPU内存 CUDA内存管理API (1)分配内存 cudaErro

Java - BigDecimal 计算分位(百分位)

日常开发中,如果使用数据库来直接查询一组数据的分位数,就比较简单,直接使用对应的函数就可以了,例如:         PERCENT_RANK() OVER(PARTITION BY 分组列名 ORDER BY 目标列名) AS 目标列名_分位数         如果是需要在代码逻辑部分进行分位数的计算,就需要我们自己写一个工具类来支持计算了 import static ja