BI工具 Qlik 教程:如何在Qlik Sense中建立点象限图?

如何逐步建立象限点图/strong>

您是否曾经对Qlik Sense图形对象感到限制有时您或许想要一些与众不同,令人惊讶或引人注目的东西。而面对这种情况,开箱即用的功能就很重要了。

这是一个“圆点象限”图表,接下来我们将介绍如何在Qlik中实现类似目标。

BI工具 Qlik 教程:如何在Qlik Sense中建立点象限图?

建立 格

首先,需要创建一个包含所有组成图表的点的 格,将使用散点图创建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,YRESIDENT TMP;DROP TABLE TMP;

使用散点图并使用维度(称为点)和X Y作为度量来填充维度来创建点象限图。将两者的范围都设置为22的最大值,并且有 格。

BI工具 Qlik 教程:如何在Qlik Sense中建立点象限图? 创建三角形

首先是删除将四个部分分开的点,使用X和Y即可轻松完成。在图表中使用“按表达式”颜色将颜色设置为白色,以便它们从视图中消失。

IF(X=Y OR X+Y=22, RGB(255,255,255))

BI工具 Qlik 教程:如何在Qlik Sense中建立点象限图?

要知道每个点属于哪个“三角形”,可以使用以下条件:

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<X,'RIGHT',    if(Total<23 and Y<X,'BOTTOM')))))

使用这些条件,您可以在脚本中生成一个名为“ POSITION”的新字段,该字段稍后将帮助您定位点象限图的右四分之一。现在,您的加载脚本应类似于以下代码:

TMP:LOAD RECNO() AS X AUTOGENERATE 21;JOINLOAD RECNO() AS Y AUTOGENERATE 21;DATA:// // DEFINE TRIANGLE POSITIONLOAD 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<X,'RIGHT',IF(TOTAL<23 AND Y<X,'BOTTOM'))))) AS Position;LOAD X&'|'&Y AS POINT,X+Y AS TOTAL,X,YRESIDENT TMP;DROP TABLE TMP;

一旦知道了每个点的位置,就该为每个象限着色了。您可以按表达式重复使用“颜色”字段中的“位置”字段:

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))))))

BI工具 Qlik 教程:如何在Qlik Sense中建立点象限图?

在 格中显示KPI

在示例中,有四个指标和一个维度(年份),其中包含两个值。由于每个四分之一由100个点组成,是时候从中心点开始为它们分配一个从1到100的值了。这样,您将可以控制各部分的填充方式,它们从中心向外填充。

在加载脚本中,是时候创建一个名为“ NoPoint”的新字段了,如下所示:

Top:load Position,X,Y,RowNo() as NoPointT Resident DataWhere Position ='TOP'Order by Y asc;Right:load Position,X,Y,rowno() as NoPointR Resident DataWhere Position ='RIGHT'Order by X asc;Bot:load Position,X,Y,RowNo() as NoPointB Resident DataWhere Position ='BOT'Order by Y desc;Left:load Position,X,Y,rowno() as NoPointL Resident DataWhere 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({$<Metric={'Sales'}>}Percentage)*100>=NoPoint

您的色彩表达应该是这样的:

if(X+Y=22 or X=Y,'#ffffff', if(Position='TOP' and Sum({$<Metric={'Sales'}>}Percentage)*100>=NoPoint,'#e74c3c',  if(Position='RIGHT' and Sum({$<Metric={'Profit'}>}Percentage)*100>=NoPoint,'#2980b9',   if(Position='BOT',    if(Sum({$<Metric={'Headcount'}>}Percentage)*100>=NoPoint,'#e67e22','#bdc3c7'),     if(Position='LEFT',      if(Sum({$<Metric={'Cost'}>}Percentage)*100>=NoPoint,'#16a085','#bdc3c7'),'#bdc3c7')         )        )       )      )

要完成图表,请记住在其中隐藏不需要的内容,X和Y以及Voila的标签和标题。

点击获取Qlik


关于Qlik

Qlik的愿景是一个数据素养的世界,每个人都可以使用数据来改善决策并解决他们最具挑战性的问题。只有Qlik提供端到端的实时数据集成和分析解决方案,以帮助组织访问所有数据并将其转化为价值。作为Qlik官方的中国合作伙伴,我们为Qlik的中国用户提供产品授权与实施、定制分析方案、技术培训等服务,旨在让中国企业的每个Qlik用户都能探索出数据的价值,让企业形成分析文化。了解更多信息,请咨询在线客服>>

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月22日
下一篇 2021年1月22日

相关推荐

发表回复

登录后才能评论