惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
Schneier on Security
The Last Watchdog
The Last Watchdog
Cyberwarzone
Cyberwarzone
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cyber Attacks, Cyber Crime and Cyber Security
L
Lohrmann on Cybersecurity
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
The Cloudflare Blog
V
V2EX
博客园_首页
博客园 - 聂微东
Vercel News
Vercel News
人人都是产品经理
人人都是产品经理
G
GRAHAM CLULEY
T
Tenable Blog
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
L
LINUX DO - 最新话题
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
SecWiki News
SecWiki News
博客园 - 三生石上(FineUI控件)
S
Secure Thoughts
N
News | PayPal Newsroom
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
T
Troy Hunt's Blog
博客园 - 【当耐特】
Forbes - Security
Forbes - Security
H
Hacker News: Front Page
A
About on SuperTechFans
B
Blog RSS Feed
Engineering at Meta
Engineering at Meta
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
D
DataBreaches.Net
P
Privacy & Cybersecurity Law Blog
Schneier on Security
Schneier on Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Jina AI
Jina AI
D
Docker
P
Proofpoint News Feed

博客园 - 蜡人张

Reading Materials in Several Minutes 一个批处理文件 - 蜡人张 - 博客园 T-SQL中的ISNULL和IS NULL 随便写写(12) C#向Word文档中插入条形码 随便写写(9) 随便写写(8) Balsamiq Mockups Ext GridPanel 动态生成列 demo Silverlight Dashboard and Gauge Elements Drawed in Expression Blend Silverlight形状合并:绘制半圆 SPAW Editor .NET Edition v.2乱用:使用代码调整编辑器高度 随便写写(5) SPAW Editor .NET Edition v.2乱用 Windows Live Writer没有权限设置字体501错误 HowTo (2): 在WebBrowser控件中屏蔽脚本错误 XMLHttpRequest异步时的超级链接调用函数问题 WM Concepts 1: Windows CE Windows Mobile 6 Professional SDK Refresh安装错误“系统管理员设置了系统策略,禁止进行此安装”
野路子实现的轻量级伪OLAP展示
蜡人张 · 2009-02-07 · via 博客园 - 蜡人张

    前一段时间花了一些时间搞了一个自己称为轻量级伪OLAP的东西,当然实现方法是不值一哂的野路子,甚至UI上用的一些名词都是用来糊弄不懂的人的,不要太当真,前台展示使用ExtJS + FusionCharts Free,看看效果吧(由于图片较大,排版需要,请单击图片在新窗口中查看图片):

初始界面

    初始界面比较简洁,一个Web下实现的MDI子窗体。

2.使用特定查询条件查询后的界面

    将右侧“查询条件”区域展开,选择相应的开始和结束日期,单击“查询”按钮,在窗体的中间空白区域将显示查询结果图表。

    单击工具栏按钮“图表数据”,窗口下部显示以二维表形式显示的图表数据。

    图表的大小可以拖动图表右下角的句柄手动进行调整。

    可以依据不同的数值型字段对数据记录进行图表分析,方法是使用“聚合类型”菜单下的菜单项,如上图使用“记录计数”生成图表。

 

    “聚合类型”菜单项是自动生成的,配置选项存储在数据库中。

选择“服务费用”作为聚合类别

    切换“聚合类型”为“费用合计”后,显示的图表数据发生了变化。

    数据记录中包含了一些比较简单的数据结构,如检查类别只有四项:单位自检、安监部门检查、领导检查和专业小组检查,所属专业只有采、掘、机、运、通、地测、其它等七项。系统可以根据这些较简单的数据结构生成相应信息的堆叠图表(Stacked Chart),包括堆叠柱状图、堆叠条形图和堆叠区域图。

    数据库中存储的关于堆叠图表的选项,也就是说生成哪些堆叠图表也是可以进行配置的。

 

    在弹出的新MDI子窗体中显示按照“检查专业”细分的柱状堆叠图表。

    堆叠图表界面也有相应的工具栏按钮,例如“图表类型”。

 

    将柱状堆叠图表切换成条形堆叠图表显示效果更好一些。

    由于不同的图表类型表示的含义不同,该图表可以方便使用“图表类型”下拉菜单在柱状图、折线图和饼图之间进行转换。

    当图表要显示的数据项较多时,可能出现图表宽度不够的情况,如图所示,图表x轴数据项名称重叠在一起,“图表宽度”工具栏按钮的下拉菜单项用于对图表宽度进行调整。

 

    同上,如果数据项较多时,可以使用“显示条数”工具栏按钮下的菜单项来限制数据项显示数量。

    “字符串截取”同样是为了解决x周数据项名称重叠问题的;“保存布局”选项可以保存当前图表的宽度、显示条数等信息,用户下次进入该模块后将以当前图表宽度、显示条数等选项来显示图表。

    在特定实体(图表中的某个项目)上,单击左键,可以弹出如上图所示菜单,在该菜单上可以查看形成该图表项目的明细数据、进行向下钻取操作以及形成时间趋势图。

 

    “向下钻取”意味着对当前数据的构成进行细分,系统可以按照自定义的类别类型无限向下细分数据,直到找到用户预期的数据为止。

    对项目类别的钻取:例如“崔矿综掘四”的记录数是615,在“项目类别”上的分布是:管理缺陷(363)、现场环境(57)、非伤事故(37)和隐患(158)。

    “向下钻取”是可以无限向下进行的,如对于路径“崔矿综掘四”——“管理缺陷”还可以继续以其它类别向下钻取,但已经钻取的类别“项目类别”无法重复使用,所以灰化了。

    对于任一数据项,可以按照日、周、月份、季度、年份等时间层次生成时间折线图。

    如“崔矿综掘四”的615条数据在一年中每天的分布情况是这样的。时间跨度太大,x轴的字符重叠在一起了,但是时间趋势还是看得很清楚的。

    调整一下图表宽度,这样可以看清楚些。

    使用“时间跨度”工具栏,切换时间层次为“周”的显示结果。

    到这里,这个图表分析功能介绍完了,当然,大部分篇幅都是贴图,文字描述太少,再加上具体业务的关系,有人可能不是很明白我要干嘛,呵呵,当我是在介绍、推广ExtJs和FusionCharts Free也行啊,虽然没有介绍它们的具体使用方法,至少对可以做到的效果有个概念了。所谓的轻量级伪OLAP,纯粹是我胡扯,虽然有些那个意思,但是明眼人一下就看出来了,这个分析模块没有使用多位数据集作为数据源,而直接使用的是业务数据,所以注定了只能是一个轻量级的东西。另外,“聚合类别”、“堆叠图表类别”,甚至“向下钻取”等都是用户可以自己进行配置的,这也保证了面对不同业务时的适用性。

    

Life is like a boat, and I'm at sea.