什么是表计算函数
更新时间: 2024-07-30 11:40:21
阅读 263
什么是表计算函数
表计算函数就是先拿到数据库里面的数据,然后在有数内存里面做计算。
所以他的计算值是会根据维度的变化而变化的。
举一个常见的例子:很多场景都会用到排名函数,rank()。rank函数在有数上就是一个表计算函数。
比如根据地区对销售额进行rank排序。
有数会先拿到地区和销售额这两个字段的数据,然后在有数上做rank。
这个时候获取到的排名是没有问题的。
但是如果对地区做了筛选,那么就会改变原来的排名。
原来东北是排名在第三位。筛选出东北,东北的排名就变成了1。
这个就是因为我拿到的数据只有东北这一条数据,那么有数在rank()排名的时候,就是对这一条数据进行排序,就会是1。
所以要想排名不改变,有两种方法:
1、写自定义SQL,把排名字段算出来。
2、有数支持:ROW_NUMBER() OVER(PARTITION BY 维度表达式 ORDER BY 度量表达式 [ASC|DESC])函数。新版本
文档反馈
以上内容对您是否有帮助?