一种动态多图联动分析的方法与流程

文档序号:15517944发布日期:2018-09-25 18:47阅读:519来源:国知局

本发明属于计算机技术的商业智能、大数据领域,尤其涉及一种动态多图联动分析的方法。



背景技术:

当前的商业智能、大数据系统,收集、整理了大量数据,这些数据蕴含了业务支撑系统、业务及客户的大量特征信息,分析这些数据的规律、特点可以用来优化业务支撑系统,改善业务及运营,提高客户满意度和忠诚度,从而实现降本增效,这也是建设商业智能系统、大数据系统的主要目的。

当前的商业智能系统、大数据系统的数据分析多以报表的形式建设和实现的,报表需要预制,不灵活,不足以及时、快速地发现数据规律、特点及蕴含的问题,也达不到快速、准确定位细分目标数据进行深入分析的目的。商业智能系统、大数据系统中数据的价值无法充分发掘利用。

报表工具及类似报表工具的大数据分析产品也在尝试通过新的技术手段解决上述问题,如钻取及dashboard,这两项技术虽能部分解决前述问题,但由于这两项技术本身的局限性和不足明显,到目前为止前述问题依然没能有效解决。

报表都得需要预先定义和开发,其突出的缺点就是使用时的灵活性不够。很多报表工具为了增加单个图形的分析能力和灵活性,提供一种叫做钻取(drill)的功能。钻取就是改变维的层次,变换分析的粒度,通常应用在具有层级关系的维度上,如国家/地区/城市。钻取包括向上钻取(drillup)、向下钻取(drilldown)和钻穿(drillthrough)一共三种情形。钻取增加分析图形灵活性、趣味性的同时也有以下几方面的不足:

1、钻取概念对于技术人员、分析人员都很难理解、掌握,均需仔细分析样例才能领会一二,若不经常使用则很容易遗忘;

2、钻取功能局限在有层级关系的几个维度上,扩展有限;

3、钻取功能的实现是将当前图形刷新为新图形,这给使用人员带来了前图记忆的负担,也不能就前后分析图形进行对比,还不清楚当前分析图形咋出来的,为啥是这样,该怎样退回到之前的分析图形,因此常常导致理解上的障碍,让分析人员漠视该功能的存在。

dashboard技术是在一个页面上紧凑地编排多个分析图表,用某种次序浏览,可以实现一种分析思路,分析一种特定的业务问题。较好实现的dashboard中的多个图表能联动,即在其中的一个图表中点击,其他图表立刻跟随改变。dashboard易于理解,交互效果好,又视觉上内容丰富、美观,因此受到普遍的欢迎和应用,但dashboard也有以下几个不足:

1、图形数量、样式、展现数据内容在设计时确定,使用时不能增减调整;

2、仅适用在设计时认定的业务分析场景;

多个图表按设计约定的次序相互控制,不可预知。



技术实现要素:

本发明一种动态多图联动分析的方法针对当前商业智能系统、大数据系统,收集、整理了大量数据,却不能灵活、快速、深入地发掘这些数据的规律、特征,揭示业务支撑系统问题及业务问题的不足,提供了一种动态多图联动分析的方法,实现快速、灵活地发现数据规律、特征或异常,并定位到具体的数据上,为业务支撑及业务优化服务。

本发明一种动态多图联动分析的方法,针对数据蕴含特征、异常不可预期,分析模型维度个数不确定的实际情况,让分析人员自主判断分析图形中是否包含异常,通过动态增加足够多个分析图形,令包含异常的数据片在另外一个分析图形中展开分析,多图递归,通过维度取值的不断确定,使包含异常数据的范围不断变小,并最后确定所有维度的取值,将异常限定在最细粒度的一小片数据上,实现了异常的快速、准确定位。

本发明一种动态多图联动分析的方法的突出优势:

1、易于理解、使用

多图联动约定了统一的控制规则,即从上到下、从左到右、从老到新地逐层施加控制,令下图是上图一片数据的展开。上图被展开的图形分片突出显示,下图也提醒是展开怎样的数据,展开与被展开都提示清晰,无需记忆,而且多图联动的实际效果印象深刻,逐层展开的逻辑简单明了易于理解、易于使用且不易忘记。

2、功能丰富

分析图形动态按需添加和去除,每个分析图形都自主可控,又可以用于多图联动逐层展开分析,也可以用做多图对比分析,分析功能丰富、灵活,分析人员的选择性大幅提高。

3、定位异常的收敛速度快

分析模型中的维度通常很多,但不一定所有维度都有明显异常,因此在使用中可以快速跳过没有明显异常无需展开的维度,从而用比较少的分析图形完成了异常的定位,或找出了特征明显的数据分片。

4、能够应对任意多维度分析模型

本发明针对异常不确定及模型不确定的情形设计的动态、灵活逐层求精方法,能够自如应对各种异常以及任意多维度的异常定位。

本发明一种动态多图联动分析的方法之使用步骤、方法

1、观察本图发现异常或特征

数据以可视化方式呈现,很容易判定规律和异常。如该出现的数据没出现,或出现了数值偏高,或出现了不该出现的数据,或出现了数值偏小,或数据座次不合理等,这些都会成为分析的重点而进行展开。

2、点击+图标增加分析图形

本图下方增加了一个新的分析图形,新增分析图形的分析指标、维度及图形样式可以自由选择,此时还未受观察图形的约束,与观察图形使用相同的数据集进行可视化展示,尚可与上图配合进行对比分析,如使用相同的维度观察不同的指标,或使用不同的维度观察相同的指标。

3、点击本图异常数据片

新增分析图形变成点击数据片在另外一个维度上的展开,同时其分析指标也同步为本图的分析指标,新增分析图形使用的数据集与本图即观察图形上点击目标分片数据使用的数据集一致,也就是点击图形分片的展开。

如点击性别维度的男性数据片,则新增分析图形就都是男性数据的分析了,男性是展开的对象在新增分析图形上有提示,新增图形分析不再有性别维度了,在其他维度上来继续分析男性数据。点击引发分析的维度变少,数据集变小,异常开始收敛。

4、重复观察、增加、点击的过程

移动鼠标将新增分析图形切换为本图,继续观察本图,发现异常,如果还有多个维度即维度数大于一,则可以继续增加新图形、点击异常分片再观察,重复这个过程直到新增的分析图形只有一个维度为止,多图联动逐层求精完成。

另外如果新增图形定位够准确,或剩余维度上没有明显异常,逐层求精也可以结束。

附图说明

图1为本发明一种动态多图联动分析的方法之示意图,a维度a2成员数据被下图展开分析,进一步a维度a2成员及b维度b2成员数据在下图展开分析,a2、b2、c4是引发数据偏大的原因,a2、b2、c5及c6是引发数据偏小的原因。

图2为本发明一种动态多图联动分析的方法之使用步骤图。

具体实施方式

为使本发明一种动态多图联动分析的方法之目的、技术方案更加清楚,以下结合电信运营商样例数据详细说明实现的方法和技术细节。借此对本发明如何应用技术手段解决技术问题、达成技术效果的实现过程能充分理解并据以实施。

分析图形发现异常

异常是分析人员发现的,由于异常具有不确定性,因此分析图形应为分析人员快速发现异常提供支持。即令分析图形具有足够的灵活性,可以保证异常会有突出、醒目的呈现,易于引起分析人员的注意进而捕获。

分析图形具有足够的灵活性通过以下几方面能力保证:

1、能呈现出分析模型中的所有分析指标;

2、能呈现出分析模型中的所有分析维度;

3、支持多种可视化分析图形,且展现样式可任意切换;

4、分析指标可以任意切换

5、分析维度可以任意切换;

6、指标可以多选;

7、维度可以多选。

增加新的分析图形

分析图形缺省就有一个,并且维度、指标、图形样式可任意切换。在构造页面的html语句中,添加一个按钮,用于点击增加分析图形,生成按钮的语句如下:

'<liclass="imgplus"onclick="addchart(\'\')"></li>'

class为imgplus将按钮显示为一个内容为加号的图片,点击按钮时执行函数addchart()。

为使用方便、快速,为增加分析图形按钮及切换至某个分析图形增加热键,分别为alt_+和alt_i,i为实际分析图形的次序号,缺省图形编号为1,增加的第一个分析图形编号为2,以此类推。

$("body").keydown(function(e){

if(e.altkey){

if(e.keycode>48&&e.keycode<58){

window.scrollto(0,60+(e.keycode-49)*491);//alt_i定位分析图形

}elseif(e.keycode==187){

addchart('');//alt_+增加图形

}

}

});

由于缺省有了一个分析图形,新增的分析图形可以复制已有分析图形生成,实现的难度就小多了。函数functionaddchart(view)的内容包括:

1、复制全部的指标可选项;

2、复制全部的维度可选项;

3、复制全部的分析图形样式;

4、复制图形对应的汇总数据集;

5、绘制分析图形,渲染页面。

观察图形上的点击实现

多个分析图形通过约定次序,即由先到后、由上到下、由左到右进行联动展开控制,联动展开控制通过在分析图形上点击触发。因此在所有分析图形生成时注册鼠标点击事件处理函数,以响应分析人员在发现异常的图形分片上进行点击。

分析图形基于html5的canvas绘制,rgraph的javascript绘图包用语句obj.set('events.click',drillclick)语句为分析图形对象obj的注册点击事件处理函数为drillclick。

drillclick函数的实现与缺省分析图形展现相关性较大,总体上实现难度不大,注意下面提及的重要功能不要遗失即可。

functiondrillclick(e,shape)函数完成鼠标点击响应操作,包括:

1、获取鼠标点击图形分片的编号;

i=shape['index']

2、获取点击的图形分片所属维度的成员即维度值;

varlabel=obj.properties['chart.labels'];

filterdim.push(label[i]);

3、获取当图形显示指标序号,用于同步给下图;

varnum=obj.id.replace('cvs','');

varqno=$("#chart_div"+num+"a[name^='quota'][class!='no']").parent().index();

4、获取上图及之前图形设置的提示;

varprompt=$("#chart_div"+num).attr("name");

5、设定本图提示;

title='红框数据在下图展开分析';

6、本图点击图形分片进行突出显示,突出显示效果包括两部分,一则是用透明度50%的白色充填,再则是用宽3像素且向外延展了的红框套住点击的图形分片;

obj.context.beginpath();

obj.context.linewidth=3;

obj.context.strokestyle='#f00';

obj.context.strokerect(obj.coords[i][0]-1,obj.coords[i][1]-1,obj.coords[i][2]+2,obj.coords[i][3]+2);

obj.context.fillstyle='rgba(255,255,255,0.5)';

obj.context.fillrect(obj.coords[i][0],obj.coords[i][1],obj.coords[i][2],obj.coords[i][3]);

obj.context.stroke();

obj.context.closepath();

//rect函数突出显示矩形区域,若为饼图的扇形突出显示,绘图语句修改为如下几句:

obj.context.lineto(segment[2]+x,segment[3]+y);

obj.context.arc(segment[2]+x,segment[3]+y,obj.radius,(segment[0]),(segment[1]),false);

obj.context.lineto(segment[2]+x,segment[3]+y);

7、增加本图由于点击而产生的过滤限制条件,并设定为下图提取数据的限制条件;

vartemp=$("#chart_div"+num+"a[name^='dim'][class!='no']").attr("value");

clkfilter+=temp+":"+filterdim[i]+"|";

$("#chartswfdiv"+num).data('clkfilter',clkfilter);

8、重新生成下图的维度,复用增加分析图形生成维度的代码,之后去掉本图中点击的维度;

9、下图标题增加点击维度取值的提示,提示展开的维度值,并用红色突出显示维度值;

prompt+=label[i]+'';

10、新增分析图形提取数据,刷新分析图形。提取数据时传递clkfilter参数,后台解析clkfilter的设置,转换为where语句的维度过滤限制。

$("#graphdiv").append(html);

loadchart('graphdiv')。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1