Qlik Sense常用函数

  最近在使用Qlik制作报表,由于完全没有了解过这个软件,就来CSDN搜了一下,发现啥也没有,于是便记录一下自己在做报表时使用到的一些常用的函数。

1.聚合函数

聚合函数的使用基本与SQL的一样

AVG(A)SUM(A)COUNT(A)MAX(A)MIN(A)

这里也可以使用distinct关键字去重,例如:COUNT(distinct A)

2.时间函数

Qlik读取出数据库的时间格式一般为:2021/01/01 12:00:00
这个格式是在‘数据加载编辑器’中设定的
在这里插入图片描述
常用函数:

MonthName(DATE) 							12020
DayName(DATE)								2020/1/1
WeekYear(DDATE)								返回年内的周数(1-52)
WeekYear(DDATE)								返回周内的天数(0-6now()										返回当前时间戳(包括时分秒)
today()										返回当前日期
AddMonths(DDATE, N) 						返回DDATE后N个月的日期(为负数则往前,精确到日)
AddMonths(MonthName(DDATE), N) 				返回DDATE前N个月的日期(即使16号也会变为1号)
Count(distinct DDATE)						返回数据天数

这些函数可以彼此组合,也可以和聚合函数混合使用,这里只是我用到的时间函数,Qlik内置的函数远远不止这些,想要了解的可以直接去看帮助文档==

3.条件函数

if(A, then B, else C)

  A为判断条件,B和C都为设置的值,可以嵌套多重,报错多半是括号问题。

4.图表函数Aggr

AVG(Aggr(Count(distinct EMPNO), DATE))

  上面这个公式中,EMPNO是员工编号,DATE是日期,Aggr(Count(distinct EMPNO), DATE)意思是通过日期对数据进行分组,再获取每天的员工数量,最后再得到选中日期的每日平均人数。

AVG(Aggr(Count(distinct EMPNO), DATE,DEPTNAME))

  后面可以加属性,比如说上面这个就是根据DATE与DEPTNAME分组。

=Round(
if(ISNULL(DEPTNAME2) and ISNULL(DEPTNAME3) and ISNULL(DEPTNAME4) and ISNULL(DEPTNAME5), AVG(Aggr(Count(distinct EMPNO), DEPTNAME1,DDATE)),
if(ISNULL(DEPTNAME3) and ISNULL(DEPTNAME4) and ISNULL(DEPTNAME5), AVG(Aggr(Count(distinct EMPNO), DEPTNAME1,DEPTNAME2,DDATE)),
if(ISNULL(DEPTNAME4) and ISNULL(DEPTNAME5), AVG(Aggr(Count(distinct EMPNO),  DEPTNAME1,DEPTNAME2,DEPTNAME3,DDATE)),
if(ISNULL(DEPTNAME5), AVG(Aggr(Count(distinct EMPNO), DEPTNAME1,DEPTNAME2,DEPTNAME3,DEPTNAME4,DDATE)),
AVG(Aggr(Count(distinct EMPNO), DEPTNAME1,DEPTNAME2,DEPTNAME3,DEPTNAME4,DEPTNAME5,DDATE))
)))))

  通过这个方法可以对透视表分组计算自己想要的属性,给出我自己做的例子,我这个就是根据部门名称作为透视表的维度,获取每日平均在职人数,(10天就是10天加起来/10),这个方法当时找了好久才找到T.T。

5.组合函数ValueList

ValueList('WWH > 84h', '72h < WWH ≤ 84h', '60h < WWH ≤ 72h', 'WWH ≤ 60h')

ValueList可以对维度进行组合展示,效果如下图所示:
valuelist
然后度量就可以用if()来做判断输出不同的值了

if(ValueList('WWH > 84h', '72h < WWH ≤ 84h', '60h < WWH ≤ 72h', 'WWH ≤ 60h') = 'WWH ≤ 60h',XXX)

  暂时就先写到这里吧,以后用到新的函数的时候再回来更新,嘿嘿。

附上两个有用的网站:
1.Qlik的在线帮助文档,特别多z.z
https://help.qlik.com/zh-CN/
2.Qlik的社区,遇到解决不了的问题就来这里搜一下。
https://community.qlik.com/
两个网站都速度很慢,不知道是不是我公司的网络拉跨emmm。

  • 7
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值