QlikView AutoNumber函数

真的要吐槽下百度上QlikView的资料少之又少,今天竟然还访问不了Google了。索性以后把新学会的QlikView的函数等大大小小知识点都放到CSDN来好了。希望能遇见更多一起学习研究QlikView的同道中人。

QlikView中介绍Autonumber的格式是这样的: autonumber(expression[ , AutoID])

个人觉得有些费解,其实说白了Expression就是若干个字段的组合,一个字段或者N个字段拼在一起,autonumber会自动为这若干个字段生成一个distinct结果集,然后计算出源数据集中每一行若干个字段值在这个distinct结果集中的位置。

比如某数据集有几个字段:

TestAutoNumber:
Load * Inline [
Field1, Field2, Field3, Field4
1, 2, 3, 4
1, 3, 3, 6
2, 4, 5, 6
];

AutoNumber(Field2) as b会生成distinct结果集: 2, 3, 4

Table1:
LOAD
	*,
	AutoNumber(Field1, 'counter1') as a,
	AutoNumber(Field2, 'counter2') as b,
	AutoNumber(Field1&Field2, 'counter3') as c,
	AutoNumber(Field1&Field2&Field3, 'counter1') as d
Resident
	TestAutoNumber;

DROP Table TestAutoNumber;

b列返回的值是1,2,3, 因为第一行数据中字段Field2的值在该Distinct结果集排序是1, 第二行数据中字段Field2的值在Distinct结果集排序是2,以此类推,

c列将用Field1和Field2合并后的值生成DISTINCT结果集,然后获得每一行数据中Field1&Field2在该结果集中的排序位置。

a列和d列有所不同,因为他们的第二个参数是一样的都是‘counter1‘,因此a和d中的Field1以及Field1&Field2&Field3合并生成同一个distinct结果集。计算a时判断每一行数据中Field1在该合并后的distinct结果集中的排序位置,计算d时会判断每一行数据中Field1&Field2&Field3在该Distinct结果集中的排序位置。

QlikView AutoNumber函数

时间: 2024-08-26 04:25:03

QlikView AutoNumber函数的相关文章

(5)QlikView中的RowNo()函数

函数介绍 RowNo()返回当前行的行号,在QlikView加载后的数据表中.第一行的值是1. 使用注意:此函数没有参数,但是括号不能省略. 适用范围,可以用于Load脚本,也可以用于Chart的表达式. 实例 脚本例子: SET ThousandSep=','; SET DecimalSep='.'; SET MoneyThousandSep=','; SET MoneyDecimalSep='.'; SET MoneyFormat='$#,##0.00;($#,##0.00)'; SET T

在QlikView中使用lookup函数

****************本文的地址为https://www.cnblogs.com/rui-yang/p/12569266.html 如需转载请注明出处**************************** 首先附上官方文档的链接:https://help.qlik.com/zh-CN/qlikview/November2018/Subsystems/Client/Content/QV_QlikView/Scripting/InterRecordFunctions/LookUp.htm

Qlikview集合分析

集合分析 集合可用于聚合函数.聚合函数一般用于聚合当前选择范围定义的可能记录的集合.但替代记录集合可由集合表达式定义.因此,集合在概念上与选择范围类似. 在使用中,集合表达式时总是以波形括号开始和结束,例如:{BM01}. 集合标识符 可以用一个常数表示记录集 1.记录集表示应用程序中所有记录的完全集合. 符号 $ 代表当前选择项范围内的记录.因此,陈述集合表达式 {$} 与不陈述集合表达式的意义等同.更有趣的是,{1-$}定义了当前选择项的反置,即指未包括在当前选择项中的所有数据. 后退/前进

Qlikview Data Modeling---创建一个Key/Link Table

这一篇我们将来学习下在什么情况下需要在QlikView里创建一个Key或者Link Table来避免事实表loops 和 qlikview自动产生synthetic keys.当两个事实表共享同样的键集合的时候,concatenation应该是首选方案去避免qlikview自动的创建synthetic key. 然而,如果一个事实表的比另外一个事实表的key键多,而且多出的key键值和另外一个事实表没有关联,这个时候创建一个key table去连接这些键值的方案就更加适合. In this

js高阶函数

map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果: function pow(x) { return x * x; } var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.map(pow); // [1, 4, 9, 16, 25, 36, 49, 64, 81] reduce()把一个函数作用在这个Array的[x1, x2, x3...]上,这个函数必须接收两个

Django url 标签和reverse()函数的使用(转)

原文:http://www.yihaomen.com/article/python/355.htm 使用url标签和reverse()函数,可以避免在模板和view中对url进行硬编码,这样即使url改变了,对模板和view也没有影响 起初用django 开发应用的时候,完全是在urls.py 中硬编码配置地址,在views.py中HttpResponseRedirect()也是硬编码转向地址,当然在template 中也是一样了,这样带来一个问题,如果在urls.py 中修改了某个页面的地址,

Python2.7-内置函数

具体参见:https://docs.python.org/2/library/functions.html#file 1.进制转换:bin(x), oct(x), hex(x) 把一个十进制数分别转换为2.8.16进制 2.字符转换:chr(x)将数字(255以内不报错,128以后无字符)转换为对应ASCII字符, unichr(x)将数字转换为unicode, ord(x) 将字符转数字与前两个相反, unicode(obj, [encoding, [error]]) 用encoding解码o

linux Shell函数

Shell函数类似于Shell脚本,里面存放了一系列的指令,不过Shell的函数存在于内存,而不是硬盘文件,所以速度很快,另外,Shell还能对函数进行预处理,所以函数的启动比脚本更快. 1.函数定义 1 2 3 4 function 函数名() {     语句     [return] } 关键字function表示定义一个函数,可以省略,其后是函数名,有时函数名后可以跟一个括号,符号"{"表示函数执行命令的入口,该符号也可以在函数名那一行,"}"表示函数体的结

pythonの函数学习笔记(一)

函数是可以实现一些特定功能的小方法或小程序定义函数function的方法:def function_name(arg1,arg2[,...]): statement [return value]注意事项:1.def开头,代表定义函数,def和函数名中间要敲一个空格:2.返回值不是必须的,如果没有renturn语句,则默认返回值None:3.函数名必须以下划线或字母开头,可以包含任意字母.数字或下划线的组合,区分大小写且不能是保留字: py使用名称空间的概念存储对象,这个名称空间就是对象作用的区域