如何在 qlik 意义上用另一种方式替换大数据(大约百万行)上的 for..loop
Posted
技术标签:
【中文标题】如何在 qlik 意义上用另一种方式替换大数据(大约百万行)上的 for..loop【英文标题】:How to replace for..loop on large data (about million of rows) by another way in qlik sense 【发布时间】:2018-05-11 16:26:19 【问题描述】:我有大约百万行的大数据。 我必须生成需要循环数据表中所有行的字段。 此循环使性能低下且不具有执行性。
那么有什么办法或解决方案,尤其是在 Qlik Sense 上?
示例结构如下:
FOR Each a in FieldValueList('employee') ~~~~ about 1 million rows
For i = 1 to $(vdate) ~~~~ about 3 month, equivalent 90 days
find max and append to a table....
Next i
Next a;
谢谢
【问题讨论】:
您实施循环有什么具体原因吗?我认为使用源表中的max
和group by
也可以实现同样的目的
【参考方案1】:
一种更快的方法应该是:
使用 for 循环创建日期范围表(应该只有 90 个循环(90 天),非常快) 在员工字段中加载 使用 JOIN 将日期表链接到包含员工字段的表。连接表达式类似于:
// do everything else before here
join (Employees) // assumes table called employees
load * resident [Employee dates] // assumes table holding dates called Employee dates
// clean up
drop table [Employee dates];
希望这会有所帮助。
杆
【讨论】:
以上是关于如何在 qlik 意义上用另一种方式替换大数据(大约百万行)上的 for..loop的主要内容,如果未能解决你的问题,请参考以下文章
如何在不透明的 UIImage 上用另一种颜色替换给定颜色 [重复]
「商业智能软件对比」DataFocus与Qlik Sense