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 ...
随机推荐
- 1011. A+B和C
/* * Main.c * 1011. A+B和C * Created on: 2014年8月30日 * Author: Boomkeeper *********测试通过******* */ #inc ...
- Android 显示YUV编码格式
ByteArrayOutputStream out = new ByteArrayOutputStream(); String path = "res/drawable/sample.yuv ...
- linux 如何禁用账号和解除禁用账号
把账号禁用可以有几个方法:1. # usermod -L <username> # usermod -U <username> // 解除禁用2. 修改/etc/passwd文 ...
- QT creator+OpenCV2.4.2+MinGW 在windows下开发环境配置
由于项目开发的原因,需要配置QT creator+OpenCV2.4.2+MinGW开发环境,现对配置方法做如下总结: 1. 下载必备软件 QT SDK for Open Source C++ de ...
- list 、set 、map 粗浅性能对比分析
list .set .map 粗浅性能对比分析 不知道有多少同学和我一样,工作五年了还没有仔细看过list.set的源码,一直停留在老师教导的:"LinkedList插入性能比Array ...
- Ajax学习教程在线阅读
1.什么是AJAX ?(1) 2.什么是AJAX ?(2) 3.什么是AJAX ?(3) 4.什么是AJAX ?(4) 5.Ajax基础教程(1)-Ajax简介 1.1 Web应用简史 6.Aja ...
- poj 1401---求N!末尾0的个数,2的个数一定比5多,观察得来,0的产生即为2*5,去找这个阶乘一行里面5的个数即可
#include<stdio.h> #include<stdlib.h> int main() { int T,N; while(scanf("%d",&a ...
- aix knowlgdgecenter
http://www-01.ibm.com/support/knowledgecenter/ssw_aix_53/com.ibm.aix.install/doc/insgdrf/HT_insgdrf_ ...
- 树形dp-hdu-4714-Tree2cycle
题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=4714 题目意思: 给一棵树,去掉一条边和增加一条边的花费都为1,求最小的花费,使该树变成一个环. 解 ...
- 在MyEclipse环境下添加MySql数据库
首先最好在添加的时候,确保你的数据库处于打开状态:其次,要按照jdbc:mysql://[host:port],[host:port].../[database]把url写对:然后,需要添加mysql ...