workbench的schema讲解一:(维度dimension设置的基本内容)
维度名字尽量用英文:因为,saiku读取schema配置文件时,用中文会出现不可预知的错误。比如,引用维度用中文,就容易出现不可预估的错误。如果要显示中文:每个对象的caption字段里键入中文,则可在使用时显示中文。
cube的cache属性 取消勾选(计算出错,往往是因为这个问题)
(1)维度dimension设置:
事实表外键和维度表主键关联:从不同维度查询,实际就是两个表联合查询,本质是两个表做自然连接,因此事实表主键和维度表外键要一致,一一对应。如果类型不一致,报错:
SQLException: IDB-1002: 'factdownloadsnew' and 'dimstore' have incompatible column type specified for join condition.
错误设置为事实表外键用datevalue,维度表主键设为id。
(2)column设置:这是选择要查看什么内容(本质是 group by column的设定)看哪一列,比如月份,选month,则在主外键自然连接后,按month做group by,进行统计。
但saiku会自动加上该列的上一级列,进行操作,如month会自动加上year:
saiku自动生成的sql语句为:
SELECT
`dimDate`.`year` AS `c0`,
`dimDate`.`month` AS `c1`,
sum(
`factDownloadsNew`.`downloads`
)AS `m0`
FROM
`dimDate` AS `dimDate`,
`factDownloadsNew` AS `factDownloadsNew`
WHERE
`factDownloadsNew`.`date_time` = `dimDate`.`datevalue` // 自然连接要对应
GROUP BY
`dimDate`.`year`,
`dimDate`.`month`
group by也自动变成两列。
结果:
对比,将column设置为datevalue(原来是month):
SELECT
`dimDate`.`year` AS `c0`,
`dimDate`.`datevalue` AS `c1`,
sum(
`factDownloadsNew`.`downloads`
)AS `m0`
FROM
`dimDate` AS `dimDate`,
`factDownloadsNew` AS `factDownloadsNew`
WHERE
`factDownloadsNew`.`date_time` = `dimDate`.`datevalue`
GROUP BY
`dimDate`.`year`,
`dimDate`.`datevalue`
(3)namecolumn不设定,默认为用column。要显示的内容。
总结:
维度度主外键关联,实现自然连接;
column为查看内容,实现group by。自动加上一级。
workbench的schema讲解一:(维度dimension设置的基本内容)的更多相关文章
- saiku查询出错如何debug(saiku查询过程的本质),以及相关workbench的schema设置
saiku连接infiniDB数据库 1,日期维度无结果. 原因:(数据库表内容出错) 表最后一列(日期字段)匹配出错,用"like %日期%"可以.说明入库时写入多余的空白符,因 ...
- 16.XML语法、CDATA、约束(DTD、Schema)讲解
xml主要用来描述数据,比如配置文件,网络之间传输数据等,并且在android中也经常用xml来布局,,接下来便来学习xml常用的东西 1.XML语法 xml语法分为: 1.1 文档声明 必须位于文档 ...
- WPF设置DataGrid行内容高度自适应 与 TextBox/TextBlock内容高度自适应
WPF设置DataGrid行内容高度自适应 TextBox/TextBlock内容高度自适应 参考: DataGrid 控件中的调整大小选项: http://msdn.microsoft.com/ ...
- JQuery_DOM 简介/设置元素及内容
一.DOM 简介 1.D 表示的是页面文档Document.O 表示对象,即一组含有独立特性的数据集合.M表示模型,即页面上的元素节点和文本节点. 2.DOM 有三种形式,标准DOM.HTML DOM ...
- 后台动态设置前台标签内容和属性(转自http://www.wzsky.net/html/Program/net/26171.html)
和以前的asp不同,在asp.net中为了彻底的代码分离,我们一般不采用<%=%>嵌入标签中来设置一些属性和内容.一般来说有2种情况:(一)设置标签的内容,比如<title>这 ...
- jquery尺寸和jQuery设置和获取内容方法
一.jquery尺寸 jQuery 提供多个处理尺寸的重要方法: width() 设置或返回元素的宽度(不包括内边距.边框或外边距),括号中可填数值宽度参数,无单位 height() 设置或 ...
- javascript中DOM获取和设置元素的内容、样式及效果
getElementById() 根据id获取dom元素 没有找到则返会Null <!DOCTYPE html> <html lang="en"> < ...
- SChema 多个属性的设置学习
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http:/ ...
- Eclipse内存讲解,eclipse.ini设置
Ubuntu 系统下,Eclipse 配置文件: vi ~/eclipse/eclipse.ini -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:Max ...
随机推荐
- 向VS中添加个PATH怎么样?
属性中,有个调试的目录,向"环境"中添加: PATH="your path";$(PATH) 可以调试用一下.
- com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field 异常
分享牛原创(尊重原创 转载对的时候第一行请注明,转载出处来自分享牛http://blog.csdn.net/qq_30739519) 1.1.1. 前言 近期在使用ObjectMapper对象将jso ...
- Java的多态及注意事项
什么是多态: 多态不但能够改善代码的组织结构和可读性,还能够创建可扩展的程序.在Java中,所有的方法都是通过动态绑定实现多态的.将一个方法调用同一个方法主体关联起来被称作绑定.动态绑定的含义是在运行 ...
- 集合框架之Set接口
一个不包含重复元素的 collection.更确切地讲,set 不包含满足e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素. 在所有构造方法以及 add.equa ...
- 为何不能在viewDidLoad方法中显示其他视图
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 你可以使得当视图控制器(view controller)显示自 ...
- 第一行代码阅读笔记---详解分析第一个Android程序
以下是我根据作者的思路,创建的第一个Android应用程序,由于工具强大,代码都自动生成了,如下: package com.example.first_app; import android.os.B ...
- achartengine之折线图
问题在文章的最后,大致说来就是折线图,如果点的个数大于3个的时候,不是所有的点都显示对应的值的,这是为什么呢,本来以为是小问题,但两天了还没找到原因) 将前两天的折线图代码做了小量修改,形成一个类似于 ...
- [shiro学习笔记]第二节 shiro与web融合实现一个简单的授权认证
本文地址:http://blog.csdn.net/sushengmiyan/article/details/39933993 shiro官网:http://shiro.apache.org/ shi ...
- Microsoft Dynamics CRM2011 更换Logo
之前操作过但没做过记录,这里记录下以防以后有需要时记不起来还有迹可循 IE收藏栏的图标,在网站根目录下的的/favicon.ico CRM网页中的Logo,替换/_imgs/crmmastheadlo ...
- 【Netty源码学习】EventLoopGroup
在上一篇博客[Netty源码解析]入门示例中我们介绍了一个Netty入门的示例代码,接下来的博客我们会分析一下整个demo工程运行过程的运行机制. 无论在Netty应用的客户端还是服务端都首先会初始化 ...