小编语 项目中经常会出现一些令人头疼的数据场景,数据并不是简单汇总计算,而是必须要先经过维度最小粒度的运算,基于运算的结果集再进行汇总等二次运算,尤其基于基础数据最小粒度出现比率或者各种复杂判别时候,经常会遇到这类问题,有一些问题可以使用简单的aggr函数来实现,一些复杂的问题需要各种集合运算函数结合aggr分类再集合set analisys实现。
1. 后台数据结构如下: 2. 前端建立垂直表,维度放id,表达式如下: 3. 运行结果如下:
1. 函数本身实现的功能是按照某个维度某个粒度进行升序或者降序取数 2. 本次场景只是举例,最小粒度数据取出之后,可以再根据其他大的维度进行汇总,根据需要进行set analysis条件过滤 ,例如sum({<年月={"<=$(=max(年月))"},Id=>} aggr(firstsortedvalue({<年月={"<=$(=max(年月))"},Id=>} 计算之后数值, -年月),id)) 3. 本篇文章核心思想并不是具体aggr、或者类似firstsortedvalue这类的某些函数的应用,而是希望大家重视针对中间结果集的二次运算,毕竟复杂一些的需求都会涉及到这些对于结果集的二次运算,这类需求不会因为敏捷BI或者传统BI有任何改变,这类需求永远存在。 以上方法适用于qlik产品,希望今天的推送能帮助小伙伴们解决一些实际问题,不管是什么BI工具,用好函数很重要。最后,你也可以阅读原文,下载qlik,轻松实现数据分析与可视化。 END 亦策软件 EBIStrategy 一家国内领先的专注于大数据整体解决方案的高科技企业, 为客户提供大数据分析平台端到端的解决方案。
|