本文将向您展示如何使用Qlik Sense构建非常不同类型的图表。Qlik广泛的图表库的一个非常聪明的补充,它说明了当我们用右眼观看标准图表时,如何提供更多标准图表。
您是否曾经对Qlik Sense图形对象感到限制? 有时您或许想要一些与众不同,令人惊讶或引人注目的东西。而面对这种情况,开箱即用的功能就很重要了。
这是一个“圆点象限”图表,接下来我们将介绍如何在Qlik中实现类似目标。
在本文中,我们不会讨论何时或为什么使用此可视化,我们只会专注于有关如何构建它的更详细指南,并且更一般地讲,如何在Qlik中运用基本图形。
首先,需要创建一个包含所有组成图表的点的网格,将使用散点图创建21 x 21的网格。请注意,由于需要界定每个扇区,因此是生成21 X 21的网格而不是20 x 20的网格。
生成脚本中的每个点
TMP: LOAD RECNO() AS X AUTOGENERATE 21; JOIN LOAD RECNO() AS Y AUTOGENERATE 21;
DATA : LOAD X &'|'& Y AS POINT, X+Y AS TOTAL, X,Y RESIDENT TMP; DROP TABLE TMP;
使用散点图并使用维度(称为点)和X Y作为度量来填充维度来创建点象限图。将两者的范围都设置为22的最大值,并且有网格。
首先是删除将四个部分分开的点,使用X和Y即可轻松完成。在图表中使用“按表达式”颜色将颜色设置为白色,以便它们从视图中消失。
IF(X=Y OR X+Y=22, RGB(255,255,255))
要知道每个点属于哪个“三角形”,可以使用以下条件:
if(Total=22 or X=Y,'NONE', if(Total>=23 and Y>X,'TOP', if(Total<23 and Y>X,'LEFT', if(Total>=23 and Y使用这些条件,您可以在脚本中生成一个名为“ POSITION”的新字段,该字段稍后将帮助您定位点象限图的右四分之一。现在,您的加载脚本应类似于以下代码:
TMP: LOAD RECNO() AS X AUTOGENERATE 21; JOIN LOAD RECNO() AS Y AUTOGENERATE 21; DATA: // // DEFINE TRIANGLE POSITION LOAD X,Y,TOTAL,POINT, IF(TOTAL=22 OR X=Y,'NONE', IF(TOTAL>=23 AND Y>X,'TOP', IF(TOTAL<23 AND Y>X,'LEFT', IF(TOTAL>=23 AND Y一旦知道了每个点的位置,就该为每个象限着色了。您可以按表达式重复使用“颜色”字段中的“位置”字段:
if(Position='NONE',rgb(255,255,255), if(Position='TOP',rgb(231, 76, 60), if(Position='RIGHT',rgb(41, 128, 185), if(Position='BOT',rgb(230, 126, 34), if(Position='LEFT',rgb(22, 160, 133) )))))在网格中显示KPI
在示例中,有四个指标和一个维度(年份),其中包含两个值。由于每个四分之一由100个点组成,是时候从中心点开始为它们分配一个从1到100的值了。这样,您将可以控制各部分的填充方式,它们从中心向外填充。
在加载脚本中,是时候创建一个名为“ NoPoint”的新字段了,如下所示:
Top: load Position,X,Y,RowNo() as NoPointT Resident Data Where Position ='TOP' Order by Y asc; Right: load Position,X,Y,rowno() as NoPointR Resident Data Where Position ='RIGHT' Order by X asc; Bot: load Position,X,Y,RowNo() as NoPointB Resident Data Where Position ='BOT' Order by Y desc; Left: load Position,X,Y,rowno() as NoPointL Resident Data Where Position ='LEFT' Order by X desc; All: LOAD Position,X,Y,NoPointT as NoPoint Resident Top; Concatenate(All) LOAD Position,X,Y,NoPointR as NoPoint Resident Right; Concatenate(All) LOAD Position,X,Y,NoPointB as NoPoint Resident Bot; Concatenate(All) LOAD Position,X,Y,NoPointL as NoPoint Resident Left; join(Data) LOAD * resident All; Drop tables All,Top,Right,Bot,Left;最后,返回到图表颜色属性面板,并添加每个KPI,例如:
Position='TOP' and Sum({$}Percentage)*100>=NoPoint 您的色彩表达应该是这样的:
if(X+Y=22 or X=Y,'#ffffff', if(Position='TOP' and Sum({$}Percentage)*100>=NoPoint,'#e74c3c', if(Position='RIGHT' and Sum({$ }Percentage)*100>=NoPoint,'#2980b9', if(Position='BOT', if(Sum({$ }Percentage)*100>=NoPoint,'#e67e22','#bdc3c7'), if(Position='LEFT', if(Sum({$ }Percentage)*100>=NoPoint,'#16a085','#bdc3c7') ,'#bdc3c7') ) ) ) ) 要完成图表,请记住在其中隐藏不需要的内容,X和Y以及Voila的标签和标题。
关于Qlik
Qlik的愿景是一个数据素养的世界,每个人都可以使用数据来改善决策并解决他们最具挑战性的问题。只有Qlik提供端到端的实时数据集成和分析解决方案,以帮助组织访问所有数据并将其转化为价值。慧都作为Qlik官方的中国合作伙伴,我们为Qlik的中国用户提供产品授权与实施、定制分析方案、技术培训等服务,旨在让中国企业的每个Qlik用户都能探索出数据的价值,让企业形成分析文化。