schema文件中cube的事实表使用视图方法
在cube中可以使用查询结果或者视图来当做事实表,其中view的alias相当于表名,这个要和同一个cube中的level的表名对应,代码如下:
<Cube name="YHZXZLFX(NIAN)" caption="%{cube.name.YHZXZLFX(NIAN)}" visible="true" cache="false" enabled="true">
<View alias="f_jcjy_yhzxqktjnian">
<SQL dialect="mysql">
<![CDATA[SELECT v1.id,v1.nian,v1.xb,v1.nl,v1.yhlx,v1.sssf,v1.sscs,v1.szq,v1.xxid,v1.zdlx,v1.zxyhsl,v1.hfzsl,v1.zdlcs,v1.zcsl FROM
(SELECT
t1.id,t1.nian,t1.`xb`,t1.nl,t1.yhlx,t1.sssf,t1.sscs,t1.szq,t1.xxid,t1.zdlx,t1.zxyhsl,t1.hfzsl,t1.zdlcs,t2.zcsl
FROM
f_jcjy_yhzxqktjnian AS t1
INNER JOIN f_jcjy_zcyhsl AS t2 ON t1.nian = t2.nian AND t1.`xb` = t2.`xb` AND t1.nl = t2.nl AND t1.yhlx = t2.yhlx AND t1.sssf = t2.sssf AND t1.sscs = t2.sscs AND t1.szq = t2.szq AND t1.xxid = t2.xxid
)AS v1
UNION
SELECT id,nian,xb,nl,yhlx,sssf,sscs,szq,xxid,zdlx,zxyhsl,hfzsl,zdlcs,zcsl FROM f_jcjy_yhzxqktjnian WHERE id NOT IN (SELECT
t1.id
FROM
f_jcjy_yhzxqktjnian AS t1
INNER JOIN f_jcjy_zcyhsl AS t2 ON t1.nian = t2.nian AND t1.`xb` = t2.`xb` AND t1.nl = t2.nl AND t1.yhlx = t2.yhlx AND t1.sssf = t2.sssf AND t1.sscs = t2.sscs AND t1.szq = t2.szq AND t1.xxid = t2.xxid
)]]>
</SQL>
</View> <Dimension type="TimeDimension" visible="true" foreignKey="id" highCardinality="false" name="SJ" caption="%{common.name.SJ}">
<Hierarchy name="SJ" visible="true" hasAll="true" caption="%{common.name.SJ}">
<Level name="NIAN" visible="true" table="f_jcjy_yhzxqktjnian" column="nian" type="String" uniqueMembers="false" levelType="TimeYears" hideMemberIf="Never" caption="%{level.name.NIAN}">
</Level>
</Hierarchy>
</Dimension>
<Dimension type="StandardDimension" visible="true" foreignKey="id" highCardinality="false" name="NL" caption="%{common.name.NL}">
<Hierarchy name="NL" visible="true" hasAll="true" caption="%{common.name.NL}">
<Level name="NL" visible="true" table="f_jcjy_yhzxqktjnian" column="nl" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never" caption="%{common.name.NL}">
</Level>
</Hierarchy>
</Dimension>
<DimensionUsage source="XB" name="XB" visible="true" foreignKey="xb" highCardinality="false">
</DimensionUsage>
<DimensionUsage source="XX" name="XX" visible="true" foreignKey="xxid" highCardinality="false">
</DimensionUsage>
<DimensionUsage source="YHLX" name="YHLX" visible="true" foreignKey="yhlx" highCardinality="false">
</DimensionUsage>
<DimensionUsage source="ZDLX" name="ZDLX" visible="true" foreignKey="zdlx" highCardinality="false">
</DimensionUsage>
<DimensionUsage source="SZDQ" name="SZDQ" visible="true" foreignKey="szq" highCardinality="false">
</DimensionUsage>
<Measure name="ZXYHSL" column="zxyhsl" datatype="Numeric" aggregator="sum" caption="%{measure.name.ZXYHSL}" visible="true">
</Measure>
<Measure name="ZDLCS" column="zdlcs" aggregator="sum" caption="%{measure.name.ZDLCS}" visible="false">
</Measure>
<Measure name="ZCSL" column="zcsl" aggregator="sum" caption="%{measure.name.ZCSL}" visible="true"> </Measure>
<Measure name="HFZSL" column="hfzsl" aggregator="sum" caption="%{measure.name.HFZSL}" visible="false">
</Measure>
<CalculatedMember name="SJYHDLL" formatString="0.00%" caption="%{calculatedMember.name.SJYHDLL}" dimension="Measures" visible="true">
<Formula>
<![CDATA[[Measures].ZXYHSL/[Measures].ZCSL]]>
</Formula>
</CalculatedMember>
<CalculatedMember name="HFZBL" formatString="0.00%" caption="%{calculatedMember.name.HFZBL}" dimension="Measures" visible="true">
<Formula>
<![CDATA[[Measures].HFZSL/[Measures].ZXYHSL]]>
</Formula>
</CalculatedMember>
<CalculatedMember name="YHCSZS" formatString="0.00%" caption="%{calculatedMember.name.YHCSZS}" dimension="Measures" visible="true">
<Formula>
<![CDATA[[Measures].ZDLCS/[Measures].ZXYHSL]]>
</Formula>
</CalculatedMember>
</Cube>
schema文件中cube的事实表使用视图方法的更多相关文章
- SQLLoader4(数据文件中的列与表中列不一致情况-filler)
A.数据文件中字段个数少于表中列字段个数,但数据文件中缺少的列,在表定义中可以为空.----- 这种情况是比较简单的,只需要将数据文件中数据对应的列的名字写到控制文件中即可.因为SQL*Loader是 ...
- maven的setting.xml文件中只配置本地仓库路径的方法
maven的setting.xml文件中只配置本地仓库路径的方法 即:settings标签下只有一个 localRepository标签,其他全部注释掉即可 <?xml version=&quo ...
- .net EF中从数据添加表或视图时无法添加的问题
.net 使用EF模式进行开发,添加实体时不能够正常添加 错误描述: .net中在EF文件中添加数据库中已有的表或视图时不能正常添加,在添加时没有任何的错误提示,但是表或视图就一直拉不过来,,保存也没 ...
- 【Mybatis】 Mybatis在xml文件中处理大于号小于号的方法【问题】
处理大于小于号的方法: https://www.cnblogs.com/winner-0715/p/6132755.html 第一种方法:用转义字符把">"和"&l ...
- 对XSD schema文件中elementFormDefault属性的理解
Schema中的elementFormDefault elementFormDefault取值:qualified 或者 unqualified 在http://www.velocityreviews ...
- Hibernate使用自定义脚本替换注解或者xml文件中的自动生成表结构
本文作者:苏生米沿 本文地址:http://blog.csdn.net/sushengmiyan/article/details/50534361 我们都清楚,可以使用hibernate的metada ...
- oracle group by中cube和rollup字句的使用方法及区别
oracle group by中rollup和cube的区别: Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句. 如果是ROLLUP(A, B, C)的话,先 ...
- Mysql误删表中数据与误删表的恢复方法
由于头两天面试时被问了这样一个问题,如果某同事误删了某个表,你该怎么恢复? 当时想了一下,因为博主没有遇到过这个问题,但是也多少了解一些,所以就回答通过mysql的binlog日志进行恢复. 面试官当 ...
- ASP.NET CS文件中输出JavaScript脚本的3种方法以及区别
Response.Write 与 Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptB ...
随机推荐
- leetcode 算法刷题(一)
今天开始刷Leetcode上面的算法题.我会更新我刷题过程中提交的代码(成功和不成功的都有)和比较好的解法 第二题 Add Two Numbers 题目的意思:输入两个链表,这两个链表都是倒序的数字, ...
- [Django 1.5] Windows + Apache + wsgi配置
基本步骤 下载安装Apache http://httpd.apache.org/download.cgi. 下载安装modwsgi 模块http://code.google.com/p/modwsgi ...
- Redis简介以及如何在Windows上安装Redis
Redis简介 Redis是一个速度非常快的非关系型内存数据库. Redis提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erla ...
- C++ STL 一般总结
以下内容来源网上 经过整合而成(转载) 一.一般介绍 STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库.它被容纳于C++标准程序库( ...
- LeetCode-001 Two Sum
[题目] Given an array of integers, find two numbers such that they add up to a specific target number. ...
- 一,入门基础—— 2. 第一个project项目
1. 欢迎界面的右边是一个项目列表,显示全部近期打开的项目,双击⭕️打开之前创建的项目. 2.右击⭕️处,选择"Add Files to DemoApp..."加入一张图片. 3. ...
- easyui的验证
加一个JS来重写验证,文件名为:validator.js 内容为: //扩展easyui表单的验证 $.extend($.fn.validatebox.defaults.rules, { //验证汉子 ...
- sql中在查询语句中加判断,控制输出的内容
Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...
- Net常用命名空间和类介绍
一.基础命名空间 l System.Collections 包含了一些与集合相关的类型,比如列表,队列,位数组,哈希表和字典等. l System.IO 包含了一些数据流类型并提供了文件和目录同步 ...
- getopt()函数
在讨论这个函数之前我们先理解两个概念:选项及其参数 gcc -o program program.c 在上述命令中 -o 就是其选项 program就是参数. getopt(): 头文件: #incl ...