在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的事实表使用视图方法的更多相关文章

  1. SQLLoader4(数据文件中的列与表中列不一致情况-filler)

    A.数据文件中字段个数少于表中列字段个数,但数据文件中缺少的列,在表定义中可以为空.----- 这种情况是比较简单的,只需要将数据文件中数据对应的列的名字写到控制文件中即可.因为SQL*Loader是 ...

  2. maven的setting.xml文件中只配置本地仓库路径的方法

    maven的setting.xml文件中只配置本地仓库路径的方法 即:settings标签下只有一个 localRepository标签,其他全部注释掉即可 <?xml version=&quo ...

  3. .net EF中从数据添加表或视图时无法添加的问题

    .net 使用EF模式进行开发,添加实体时不能够正常添加 错误描述: .net中在EF文件中添加数据库中已有的表或视图时不能正常添加,在添加时没有任何的错误提示,但是表或视图就一直拉不过来,,保存也没 ...

  4. 【Mybatis】 Mybatis在xml文件中处理大于号小于号的方法【问题】

    处理大于小于号的方法: https://www.cnblogs.com/winner-0715/p/6132755.html 第一种方法:用转义字符把">"和"&l ...

  5. 对XSD schema文件中elementFormDefault属性的理解

    Schema中的elementFormDefault elementFormDefault取值:qualified 或者 unqualified 在http://www.velocityreviews ...

  6. Hibernate使用自定义脚本替换注解或者xml文件中的自动生成表结构

    本文作者:苏生米沿 本文地址:http://blog.csdn.net/sushengmiyan/article/details/50534361 我们都清楚,可以使用hibernate的metada ...

  7. oracle group by中cube和rollup字句的使用方法及区别

    oracle group by中rollup和cube的区别:  Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句. 如果是ROLLUP(A, B, C)的话,先 ...

  8. Mysql误删表中数据与误删表的恢复方法

    由于头两天面试时被问了这样一个问题,如果某同事误删了某个表,你该怎么恢复? 当时想了一下,因为博主没有遇到过这个问题,但是也多少了解一些,所以就回答通过mysql的binlog日志进行恢复. 面试官当 ...

  9. ASP.NET CS文件中输出JavaScript脚本的3种方法以及区别

    Response.Write 与   Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptB ...

随机推荐

  1. JavaScript学习笔记(一)对象和属性

    对象属性的使用 JavaScript中的所有变量都可以当做对象使用,除了null和undefined. false.toString(); // 'false' [1, 2, 3].toString( ...

  2. 关于 java.io.IOException: open failed: EACCES (Permission denied)

    今天解决了一个问题,不得不来和大家分享.就是关于 java.io.IOException: open failed: EACCES (Permission denied)的问题,网上也有很多人把这个问 ...

  3. 重启VirtualBox里面的系统提示VT-x features locked or unavailable in MSR错误

    有次不小心设置了一下virtualbox里面的一些配置,然后启动系统时出现了如下提示 在网上找了一些资料尝试了一些方法偶然有一次成功 原来是自己把那个cpu个数设置成了2,改成1就好了,不知道为什么做 ...

  4. C语言malloc和free实现原理

    以下是一段简单的C代码,malloc和free到底做了什么? int main() { char* p = (char*)malloc(32); free(p); return 0; } malloc ...

  5. 计算机专业-世界大学学术排名,QS排名,U.S.NEWS排名

    2015年美国大学计算机专业排名 计算机专业介绍:计算机涉及的领域非常广泛,其分支学科也是非常多.所以在美国将主要的专业方向分为人工智能,程序应用,计算机系统(Systems)以及计算机理论(theo ...

  6. [Leetcode][Python]39: Combination Sum

    # -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 39: Combination Sumhttps://oj.leetcode. ...

  7. Boost正则表达式库regex常用search和match示例 - 编程语言 - 开发者第2241727个问答

    Boost正则表达式库regex常用search和match示例 - 编程语言 - 开发者第2241727个问答 Boost正则表达式库regex常用search和match示例 发表回复   Boo ...

  8. C语言对象化编程

    以下为一个引子: C中struct的函数实现,只能用函数指针成员. C结构体内不能有函数的代码,但可以有函数的指针. C/C code Code highlighting produced by Ac ...

  9. POJ 2029 DP || 暴力

    在大矩形中找一个小矩形 使小矩形包括的*最多 暴力或者DP  水题 暴力: #include "stdio.h" #include "string.h" int ...

  10. poj 3764 The xor-longest Path(字典树)

    题目链接:poj 3764 The xor-longest Path 题目大意:给定一棵树,每条边上有一个权值.找出一条路径,使得路径上权值的亦或和最大. 解题思路:dfs一遍,预处理出每一个节点到根 ...