- 浏览: 343030 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
zy_mensheng:
请问一下 怎么 js没有解析啊 还是钟表图..
调用BIEE提供的web service -
安铁辉:
师兄你很久没更新博客了
Information Dashboard Design读书笔记 -
mojunbin:
很清晰的文章
秒杀相关知识以及技术 -
yanchangjun8102:
楼主你好,我也最近在研究biee的webservice这块,按 ...
调用BIEE提供的web service -
sacredon:
不错,楼主我是看着你的这篇文章写代码调用的BIEE的Web ...
调用BIEE提供的web service
今天遇到一件很奇怪的事情:
同样的报表,在访问时,数据差异很大。
唯一做的变更是,之前底层走的是tsa_fact_punish_rstb表。现在走的是tsa_fact_punish_rdys表。
希望利用biee模型成的聚集导航,当查询特定的维度时,走相应的聚合表。
一开始怀疑,是tsa_fact_punish_rdys表的计算有问题,但是实际上该表是利用kettle进行简单的聚合得到的。
反复查了几次,发现底层的数据没有问题。
后来只能怀疑是前台的报表bug了。查看发出的sql分析,基本上关联的表是差不多的。后来仔细分析,发现在前台报表层面虽然增加了bc_type=1的判断,但是发出的sql里,走tsa_fact_punish_rdys表的查询语句,竟然没有该条件限制。导致算出来的数据偏大。
正确的sql如下:
select T4707.year_id as c1, T4707.month_id as c2, T4707.date_id as c3, T4635.cat_level_1_name as c4, case when T4645.reason_1_name in ('售后保障服务', '未收到货') then '售后投诉' when T4645.reason_1_name in ('延迟发货', '违背承诺') then '规则类投诉' else '其他' end as c5, sum(T17117.all_new_num) as c6 from tsa_dim_time T4707, tsa_dim_punish_reason T4645, tsa_dim_product_category T4635, tsa_fact_punish_rstb T17117 where ( T4635.cat_id = T17117.product_category_id and T4645.reason_id = T17117.reason_id and T4707.date_id = T17117.date_id and T17117.bc_type = 1 and T4635.cat_level_1_name <> '手机号码/套餐/增值业务' and T4635.cat_level_1_name <> '移动/联通/电信充值中心' and T4635.cat_level_1_name <> '网游垂直市场根类目' and T4635.cat_level_1_name <> '网游装备/游戏币/帐号/代练' and T4635.cat_level_1_name <> '网络游戏点卡' and T4635.cat_level_1_name <> '腾讯QQ专区' and T4645.reason_2_name <> '消费者保障服务(商城,虚拟)' and T4645.reason_2_name <> '消费者保障服务(集市,虚拟)' and case when T4645.reason_1_name in ('售后保障服务', '未收到货') then '售后投诉' when T4645.reason_1_name in ('延迟发货', '违背承诺') then '规则类投诉' else '其他' end <> '其他' and 0 < T4635.status and T4707.date_id between {d '2011-07-18'} and {d '2011-07-24'} and T17117.date_id between {d '2011-07-18'} and {d '2011-07-24'} ) group by T4635.cat_level_1_name, T4707.date_id, T4707.month_id, T4707.year_id, case when T4645.reason_1_name in ('售后保障服务', '未收到货') then '售后投诉' when T4645.reason_1_name in ('延迟发货', '违背承诺') then '规则类投诉' else '其他' end
错误的sql:
select T4707.year_id as c1, T4707.month_id as c2, T4707.date_id as c3, T4635.cat_level_1_name as c4, case when T4645.reason_1_name in ('售后保障服务', '未收到货') then '售后投诉' when T4645.reason_1_name in ('延迟发货', '违背承诺') then '规则类投诉' else '其他' end as c5, sum(T21533.all_new_num) as c6 from tsa_dim_time T4707, tsa_dim_punish_reason T4645, tsa_dim_product_category T4635, tsa_fact_punish_rdys T21533 where ( T4635.cat_id = T21533.product_category_id and T4645.reason_id = T21533.reason_id and T4707.date_id = T21533.date_id and T4635.cat_level_1_name <> '手机号码/套餐/增值业务' and T4635.cat_level_1_name <> '移动/联通/电信充值中心' and T4635.cat_level_1_name <> '网游垂直市场根类目' and T4635.cat_level_1_name <> '网游装备/游戏币/帐号/代练' and T4635.cat_level_1_name <> '网络游戏点卡' and T4645.reason_2_name <> '消费者保障服务(商城,虚拟)' and T4645.reason_2_name <> '消费者保障服务(集市,虚拟)' and case when T4645.reason_1_name in ('售后保障服务', '未收到货') then '售后投诉' when T4645.reason_1_name in ('延迟发货', '违背承诺') then '规则类投诉' else '其他' end <> '其他' and T4635.cat_level_1_name <> '腾讯QQ专区' and 0 < T4635.status and T4707.date_id between {d '2011-07-18'} and {d '2011-07-24'} and T21533.date_id between {d '2011-07-18'} and {d '2011-07-24'} ) group by T4635.cat_level_1_name, T4707.date_id, T4707.month_id, T4707.year_id, case when T4645.reason_1_name in ('售后保障服务', '未收到货') then '售后投诉' when T4645.reason_1_name in ('延迟发货', '违背承诺') then '规则类投诉' else '其他' end
以上两条sql的不同点,除了走的聚合表不同外,就是条件bc_type的区别了。
初步分析:tsa_fact_punish_rdys表里没有bc_type字段,在聚集导航判断时,可以走这张表,竟然把这个条件直接去掉了。之前以为,没有字段映射到的话,会走符合条件的另外一个表的。这还是第一次遇到这种情况。有点诡异。
解决方案:在tsa_fact_punish_rdys表中增加bc_type字段,应该可以保证限制条件不丢。
后面再分析下,为什么会出现这种情况?
发表评论
-
Information Dashboard Design读书笔记
2013-06-20 18:34 2067第一章: Everybody wants a ... -
BIEE之timestamp问题
2012-12-12 21:13 1901最近在做一个需求, ... -
timeTunnel的学习
2012-09-25 19:26 2746采集数据(通过TT的cli ... -
数据挖掘之归一化
2012-09-24 21:10 3529在阅读数据模型的文章中,经常看到针对特征维度进行归一化处理。 ... -
BIEE 界面DIY
2012-09-06 21:49 2246改图片和css不需要重启服务,但要注意清除IE缓存。l在C:\ ... -
BIEE登录问题排查及集群搭建
2012-07-01 21:08 3082背景: BIEE服务器虽然搞了两台,但是只是作为冷备。大部 ... -
BIEE10g集群配置
2012-07-01 21:08 0mark 下。后续补上。 -
OBIEE的ibot配置
2012-02-14 15:30 1792http://prolynxuk.com/blog/?p=28 ... -
聚集导航的设计和实现之读书笔记
2012-01-31 15:47 1821关于聚集导航的技术,最近读了一本很不错了书籍《Masterin ... -
调用BIEE提供的web service
2011-11-17 15:33 9153门户项目中准备用web service获取现有的制作好的报表 ... -
biee清除缓存脚本
2011-10-10 22:55 3699前面文章 http://jianchen.iteye.com ... -
OBIEE 变量
2011-08-29 21:34 1190biee的变量分类以及在各个组件的引用方法: 这 ... -
OBIEE Data model Best Pratices
2011-08-28 22:31 1400Data Model Best Practices 1, ... -
性能测试 and BIEE(二)
2011-08-28 20:29 1872测量以及监控 (measing and monito ... -
性能测试 and BIEE(一)
2011-08-28 20:19 3673目标: 1. 性 ... -
部署普及型BI关键成功因素
2011-08-15 16:24 1081部署普及型BIwhat is it?传 ... -
BIEE缓存设置
2011-08-14 18:22 35301,BI server cache OracleBI\ser ... -
【转】据仓库设计的三级数据模型
2011-08-13 17:33 1810所谓数据模型,就是 ... -
kettle的源代码svn地址
2011-07-06 15:51 2936网上一开始搜索到的地址 svn://source.pen ... -
kettle之牛刀小试
2011-06-30 20:05 12007需求描述: 客户端有一个程序定时(15分钟间隔)的采集外网 ...
相关推荐
"SQL Server 索引结构及其使用(聚集索引与非聚集索引)" 数据库索引是数据库性能优化的关键技术之一。SQL Server 提供了两种索引:聚集索引(clustered index)和非聚集索引(nonclustered index)。本文将详细介绍...
### 索引介绍:聚集索引与非聚集索引 #### 一、索引的基本概念 在数据库中,索引是一种特殊的文件结构,它的主要目的是为了提高数据检索的速度。索引通过创建一种数据结构(例如B树)来实现这一点,这种结构允许...
聚集索引和非聚集索引是数据库管理系统中两种重要的索引类型,它们在数据库查询优化中扮演着关键角色。理解这两种索引的区别对于优化数据库性能至关重要。 首先,聚集索引(Clustered Index)决定了表中数据的实际...
本文将深入探讨数据库中的非聚集索引、聚集索引以及索引模式的概念,并分析它们之间的区别。 首先,让我们了解一下**非聚集索引**。非聚集索引在数据库中不按照数据的实际物理顺序存储。每个非聚集索引条目包含键值...
这里我们将深入探讨Matlab在处理复杂网络时如何计算聚集系数和平均距离,这两个重要指标。 首先,让我们理解这两个概念: 1. **聚集系数(Clustering Coefficient)**:聚集系数是衡量一个节点的邻居节点之间连接...
人口聚集、经济聚集、产业聚集是指大量人口、经济活动、同一产业或者相关产业在特定区域内集中的现象。这种聚集可以是由于多种原因,例如就业机会、教育资源或良好的生活环境。 一般反应某些地区具有优越的地理位置...
【产业聚集理论】是经济学领域的一个重要分支,探讨的是企业为何倾向于在同一地区集中,以及这种聚集带来的经济效应。产业聚集的现象在现代社会经济活动中十分普遍,它不仅是一个历史久远的经济现象,也是当今世界...
复杂网络中聚集系数的MATLAB实现方法,ClusteringCoefficient
它通过获取用户或设备的地理位置,结合其他数据(如时间、环境条件等),提供包括但不限于地图导航、位置共享、附近商家搜索、紧急救援等多种服务。LBS技术的发展依赖于GPS全球定位系统、Wi-Fi定位、基站定位等多种...
这份"学校常见传染病聚集性疫情判定参考标准"为教育机构提供了识别和应对传染病爆发的重要指导,旨在及时发现并控制疫情,保护学生和教职员工的健康。 1. 手足口病:该病由多种肠道病毒引起,主要症状包括发热、...
昆明产业聚集带动人口聚集的分析涉及了人口经济学、产业经济学和地理经济学等多个领域的知识,主要探讨了产业聚集与人口聚集之间相互作用的机制和特点。分析了昆明市产业聚集的分类、特征及其对人口流动和聚集的影响...
对基于群体聚类的约束多目标进化算法进行了改进,引入了聚集密度以度量群体中个体间的关系,保持种群的多样性。其基本思想为:首先将初始群体按多判据聚类方法分为适应度值不同的四类,然后计算类内群体中个体的聚集密度...
MySQL索引 聚集索引 如果你想了解MySQL索引查询优化,你首先应该对MySQL数据组织结构、B-Tree索引、聚集索引,次要索引有一定的了解,才能够更好地理解MySQL查询优化行为。这里主要探讨MySQL InnoDB的聚集索引。
已知生物样品中蛋白质聚集体的存在与自然衰老过程和与年龄有关的疾病有关。 这项技术研究的目的是评估傅立叶变换红外光谱法鉴定含有高水平蛋白质聚集体的酿酒酵母中蛋白质聚集体的可能性。 我们获取了中红外范围...
MapReduce作为一种分布式计算框架,被广泛应用于大数据处理领域,它能够处理PB级别的数据规模,有效地支持数据的在线聚集优化。然而,MapReduce在执行大数据在线聚集任务时往往存在执行时间长、执行性能较差以及延迟...
"SQLServer聚集索引与非聚集索引讲解" 本文主要讲解了SQL Server中的聚集索引和非聚集索引的概念、原理和应用场景。聚集索引(Clustered Index)和非聚集索引(Non-Clustered Index)是SQL Server中两种不同的索引...
在Unity游戏开发中,"插件_Flock Box聚集行为.zip"是一个非常实用的工具,它提供了集成的聚集行为(也称为群集行为或Boids算法)功能。这种插件允许开发者轻松地创建出类似鸟群、鱼群或者其它群体动物的行为效果,为...
聚集度高意味着机器人能够有效地集中在某一区域,而均匀度高则表示在聚集的区域里,机器人的分布较为均衡。这些评价指标有助于科研人员了解和改进群机器人的自组织聚集行为。 协同围捕是一种多机器人系统通过协调...