永洪社区

标题: 如何跨数据集计算? [打印本页]

作者: No上善若水    时间: 2020-8-24 15:35
标题: 如何跨数据集计算?
背景:有两个数据集,我想先统计这两个数据集的总数,然后把他们的总数进行相加得出一个最终数据,例如
地区 人数
广东 20
广西 15

季度 人数
春季 20
夏季 15


然后统计人数,最后取得最终结果70,怎样实现呢?

作者: Adil_zhang    时间: 2020-8-24 16:12
组合数据集
作者: No上善若水    时间: 2020-8-24 16:27
Adil_zhang 发表于 2020-8-24 16:12
组合数据集

组合数据集好像不行吧?数据量太大,性能不行,而且可能会多出重复数据
作者: Adil_zhang    时间: 2020-8-25 10:05
No上善若水 发表于 2020-8-24 16:27
组合数据集好像不行吧?数据量太大,性能不行,而且可能会多出重复数据 ...

搞数仓吧。
作者: No上善若水    时间: 2020-8-25 10:33
Adil_zhang 发表于 2020-8-25 10:05
搞数仓吧。

有数仓了,但group by多个字段的话数据就不准确了,毕竟真实数据并不是真的只有两个字段,而且字段的值也不一定都一样
作者: No上善若水    时间: 2020-8-25 10:48
No上善若水 发表于 2020-8-25 10:33
有数仓了,但group by多个字段的话数据就不准确了,毕竟真实数据并不是真的只有两个字段,而且字段的值也 ...

如果要搞组合数据集的话,那要单独统计数据并只使用总数这一列,那就得重新制作数据集,我希望的是直接拿现有的数据集,囧
作者: 永洪tech--Z    时间: 2020-8-25 11:48
可以考虑用自由表
作者: No上善若水    时间: 2020-8-25 14:48
永洪tech--Z 发表于 2020-8-25 11:48
可以考虑用自由表

请问在用自由表的时候,如何在最后一行为每一列添加一个统计值呢?
作者: 翻滚吧巨人    时间: 2020-8-25 18:56
rowTotal(int column, int rstart, rend)      //column 表示计算行合计的所在列, rstart 表示起始行, rend 表示结束行
colTotal(int row, int cstart, cend)        //row 表示计算列合计的所在行,cstart 表示起始列, cend 表示结束列
作者: No上善若水    时间: 2020-8-26 09:03
永洪tech-Harry 发表于 2020-8-25 18:56
rowTotal(int column, int rstart, rend)      //column 表示计算行合计的所在列, rstart 表示起始行, re ...

如果结束行是动态的呢?因为有使用条件筛选,那结束行就没办法提前预知了
作者: No上善若水    时间: 2020-8-26 09:06
永洪tech-Harry 发表于 2020-8-25 18:56
rowTotal(int column, int rstart, rend)      //column 表示计算行合计的所在列, rstart 表示起始行, re ...

我的写法是rowTotal(3,1,rsize-2),然后报错:异常(隔间计算发现有循环依赖。
作者: No上善若水    时间: 2020-8-26 09:10
永洪tech-Harry 发表于 2020-8-25 18:56
rowTotal(int column, int rstart, rend)      //column 表示计算行合计的所在列, rstart 表示起始行, re ...

列是从1开始的吗?我改成从1开始的就可以了,感谢!!!
作者: No上善若水    时间: 2020-8-26 09:15
永洪tech-Harry 发表于 2020-8-25 18:56
rowTotal(int column, int rstart, rend)      //column 表示计算行合计的所在列, rstart 表示起始行, re ...

不对,我改成从1开始的话算的其实是第二列的数据,改成以0开始就会报错:异常(隔间计算发现有循环依赖。请问这是什么问题呢?




欢迎光临 永洪社区 (http://club.yonghongtech.com/) Powered by Discuz! X3.4