FineBI 无法将聚合和非聚合参数混用(或条件求和)
例如:使用 IF 函数对聚合函数进行二次计算,当公式中含有非聚合参数时,公式不合法,如下图所示:
方案一 将非聚合参数变成聚合参数
如下图所示:
方案二 先逻辑判断,再聚合
示例:计算「省份」为「北京」且「客户名称」为「北控软件有限公司」的「合同金额」总量。
创建仪表板,选择「地区数据分析」数据集,创建「计算字段」,输入字段名称和公式:SUM_AGG(IF(省份="北京市"&&客户名称="北控软件有限公司",回款金额,0)),
如下图所示:
公式说明:
公式 | 说明 |
---|---|
IF(省份="北京市"&&客户名称="北控软件有限公司",回款金额,0) | 如果同时满足「省份」为「北京」且「客户名称」为「北控软件有限公司」,则输出「回款金额」,否则输出 0 |
SUM_AGG(IF(省份="北京市"&&客户名称="北控软件有限公司",回款金额,0)) | 对上一步输出的结果进行求和 |
缺陷:如果将公式作为一个新增字段使用,那么可能出现 无数据 的情况。因为明细表不支持聚合。在页面中添加计算字段是可以使用的,同样不支持明细表的使用。
方案三 聚合函数与非聚合函数进行嵌套
sum_agg(max(字段))是合法的,如下图所示:
方案四 使用fixed函数
目前只支持 实时数据,不支持抽取数据。
FIXED 函数表达式使用指定的维度计算值,而不引用分析区域中的维度。
比如:求指标在任意分组下的组内占比,分析一个数据,业务需要在一张表中看到门店、品类、品牌3个维度,有销售额和净利润两个指标,需要分析门店具体品类占所有门店品类销售的占比。
使用示例数据创建仪表板,添加计算字段,命名并输入公式:
FIXED(店名,品类描述,SUM_AGG(销售额))/FIXED(店名,SUM_AGG(销售额)),
如下图所示:
公式说明:
公式 | 说明 |
---|---|
FIXED(店名,SUM_AGG(销售额)) | 以店名为固定维度,计算每个店的汇总销售额 |
FIXED(店名,品类描述,SUM_AGG(销售额)) | 以店名和品类描述为固定维度,计算每个店下每个品类的汇总销售额 |
FIXED(店名,品类描述,SUM_AGG(销售额))/FIXED(店名,SUM_AGG(销售额)) | 每个店下,每个品类销售额汇总/每个店销售额汇总 |
EXCLUDE、INCLUDE函数参考:
[直连]FIXED类函数 - FineBI帮助文档 (fanruan.com)
方案五 使用分组汇总功能,然后再逻辑判断
弊端:该方式得到的结果,不能很好的与其他表进行关联使用。
对于以下函数,是不合法的。
功能:如果(Code 1="D" 或 Code 1="C"),且 Code 2= "N",汇总Duration 的值
下面提供一种解决方案:
注:以下截图来源于官网,与本例子无关。只记录、参考操作步骤。
1、使用分组汇总功能
1)进入「数据准备>业务包」,点击「添加表>自助数据集」,如下图所示:
2)进入自助数据集配置界面,从业务包的数据表中选择需要的字段,右侧预览中即显示选择的字段,如下图所示:
然后添加分组汇总
选择「自定义」分组方式
点击「添加分组」,其他的值可以分组到【其他】组。
选择汇总的字段
汇总字段支持添加「文本字段」、「数值字段」、「时间字段」,默认不填入字段,均支持重命名、删除字段操作。
注:「近似去重计数」功能支持的数据库版本:CLICKHOUSE、ORACLE(12.1或以上)、SQLSERVER(2019或以上)、PRESTO、REDSHIFT、VERTICA、MAXCOMPUTE。当数据库系统为REDSHIFT时,由于REDSHIFT的限制,只能同时对同一个字段做需要排序的聚合操作(如求去重计数、中位数、百分位、近似去重计数),同时对2个或以上的字段做此种聚合操作会发生错误。当数据库系统为VERTICA时,由于VERTICA的限制,只能同时使用(精确)去重计数或近似去重计数中的一个。
2、对分组后数据逻辑判断
新增字段
此时的公式改为:
// 错误的
IF(AND(${Code 1}="CD",${Code 2}="N"), SUM_AGG(${Duration}), null)改为:
// 正确的
IF(AND(${Code 1}="CD",${Code 2}="N"), ${Duration}, null)
结果如下:
FineBI 无法将聚合和非聚合参数混用(或条件求和)相关推荐
- 聚合和非聚合字段含义
聚合字段 可以简单的理解为一天一天数据相加后,是需要的数据的字段,是有意义的 非聚合字段 可以理解为,每天数据相加的字段,加起来毫无意义 就比如 乘,除都是不可聚合字段
- 虚拟专题:联邦学习 | 面向隐私保护的非聚合式数据共享综述
来源:通信学报 面向隐私保护的非聚合式数据共享综述 李尤慧子1, 殷昱煜1, 高洪皓2,3, 金一4, 王新珩5 1 杭州电子科技大学计算机学院,浙江 杭州 310018 2 上海大学计算机工程与科学 ...
- Mysql无法选取非聚合列
教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步>>> (原文)Mysql 无法选取非聚合列. 更多讨论或者错误提交,也请移步. 1. 前言 最近升级博客,给文章页 ...
- non-aggregates(非聚合)对象不能使用初始化列表
例子: #include "stdafx.h" #include <iostream> using std::cout; using std::endl;struct ...
- pandas 非聚合函数
非聚合函数 函数 描述 Series.rank([axis, method, numeric_only, -]) 排名 Series.unique() 返回唯一值 Series.value_count ...
- sqlserver聚合索引(clustered index) / 非聚合索引(nonclustered index)的理解
1. 什么是聚合索引(clustered index) / 什么是非聚合索引(nonclustered index)? 可以把索引理解为一种特殊的目录.微软的SQL SERVER提供了两种索引:聚集索 ...
- MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题
MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题 参考文章: (1)MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题 (2)https://ww ...
- 聚合索引(clustered index) 和 非聚合索引(nonclustered index)
以下我面试经常问的2道题..尤其针对觉得自己SQL SERVER 还不错的同志.. 呵呵 很难有人答得好.. 各位在我收集每个人擅长的东西时,大部分都把SQL SERVER 标为Expert,看看是 ...
- Elasticsearch(三)——Es搜索(简单使用、全文查询、复合查询)、地理位置查询、特殊查询、聚合操作、桶聚合、管道聚合
Elasticsearch(三)--Es搜索(简单使用.全文查询.复合查询).地理位置查询.特殊查询.聚合操作.桶聚合.管道聚合 一.Es搜索 这里的 Es 数据博主自己上网找的,为了练习 Es 搜索 ...
- mysql的所有聚合函数_MySQL 聚合函数(一)聚合(组合)函数概述
MySQL版本:5.7+ 一.MySQL 5.7中的聚合函数 MySQL 5.7中的聚合函数如下: 除非另有说明,否则组合函数会忽略NULL值. 如果在不包含Group By子句的语句中使用组合函数, ...
最新文章
- java语言程序设计你_清华大学出版社-图书详情-《Java语言程序设计》
- JetBrains——账户登录错误(JetBrains Account Error:JetBrains Account connection error: www.jetbrains.com)解决方案
- Java之HashMap、Hashtable、LinkedHashMap、TreeMap、ConcurrentHashMap简单的区别
- 关于消息队列的使用----ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ
- 十大排序算法——计数排序(C语言)
- GD32F103RBT6开发笔记
- maxscale mysql5.7_Centos7安装maxscale 实现mysql的读写分离
- 【荐课】10分钟速成课:经济学
- 备考BEC高级全记录:
- vscode没有应用程序与此操作的指定文件有关联
- HDU-4826 Labyrinth
- http://enki-ding-yeah-net.iteye.com/blog/1042644
- 前端要怎么学,前端学习路线图
- 腾讯物联TencentOS tiny上云初探
- 【Python+数学】笛卡儿积
- 抖音青少年模式?怎么这么好用啊!
- 银行业内部众测的正确打开姿势
- Linux下shell编程实例
- 从25岁到55岁,人生三个十年的规划和目标
- python转cpython_cpython的使用
热门文章
- c语言统计大小写字母 空格 和数字个数,C++统计中英文大小写字母、数字、空格及其他字符个数的方法...
- 阿里云——杭州云栖大会
- 结对项目—地铁出行路线规划
- 怎么修改docker镜像的名字_docker镜像如何重命名
- Tableau 网站流量分析案例汇总
- 地图 Api 使用小记 (use 51ditu)
- 易观CTO郭炜:开源,不是天才的甜点,而是勤奋者的盛宴
- 智能系统概论——初识百度AI平台
- Android多功能视频播放器GSYVideoPlayer开发流程
- 我儿喜欢摸奶奶 什么原因_我是奶奶,我的编码职业才刚刚开始