例如:使用 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. 聚合和非聚合字段含义

    聚合字段 可以简单的理解为一天一天数据相加后,是需要的数据的字段,是有意义的 非聚合字段 可以理解为,每天数据相加的字段,加起来毫无意义 就比如 乘,除都是不可聚合字段

  2. 虚拟专题:联邦学习 | 面向隐私保护的非聚合式数据共享综述

    来源:通信学报 面向隐私保护的非聚合式数据共享综述 李尤慧子1, 殷昱煜1, 高洪皓2,3, 金一4, 王新珩5 1 杭州电子科技大学计算机学院,浙江 杭州 310018 2 上海大学计算机工程与科学 ...

  3. Mysql无法选取非聚合列

    教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步>>> (原文)Mysql 无法选取非聚合列. 更多讨论或者错误提交,也请移步. 1. 前言 最近升级博客,给文章页 ...

  4. non-aggregates(非聚合)对象不能使用初始化列表

    例子: #include "stdafx.h" #include <iostream> using std::cout; using std::endl;struct ...

  5. pandas 非聚合函数

    非聚合函数 函数 描述 Series.rank([axis, method, numeric_only, -]) 排名 Series.unique() 返回唯一值 Series.value_count ...

  6. sqlserver聚合索引(clustered index) / 非聚合索引(nonclustered index)的理解

    1. 什么是聚合索引(clustered index) / 什么是非聚合索引(nonclustered index)? 可以把索引理解为一种特殊的目录.微软的SQL SERVER提供了两种索引:聚集索 ...

  7. MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题

    MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题 参考文章: (1)MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题 (2)https://ww ...

  8. 聚合索引(clustered index) 和 非聚合索引(nonclustered index)

    以下我面试经常问的2道题..尤其针对觉得自己SQL SERVER 还不错的同志.. 呵呵 很难有人答得好..  各位在我收集每个人擅长的东西时,大部分都把SQL SERVER 标为Expert,看看是 ...

  9. Elasticsearch(三)——Es搜索(简单使用、全文查询、复合查询)、地理位置查询、特殊查询、聚合操作、桶聚合、管道聚合

    Elasticsearch(三)--Es搜索(简单使用.全文查询.复合查询).地理位置查询.特殊查询.聚合操作.桶聚合.管道聚合 一.Es搜索 这里的 Es 数据博主自己上网找的,为了练习 Es 搜索 ...

  10. mysql的所有聚合函数_MySQL 聚合函数(一)聚合(组合)函数概述

    MySQL版本:5.7+ 一.MySQL 5.7中的聚合函数 MySQL 5.7中的聚合函数如下: 除非另有说明,否则组合函数会忽略NULL值. 如果在不包含Group By子句的语句中使用组合函数, ...

最新文章

  1. java语言程序设计你_清华大学出版社-图书详情-《Java语言程序设计》
  2. JetBrains——账户登录错误(JetBrains Account Error:JetBrains Account connection error: www.jetbrains.com)解决方案
  3. Java之HashMap、Hashtable、LinkedHashMap、TreeMap、ConcurrentHashMap简单的区别
  4. 关于消息队列的使用----ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ
  5. 十大排序算法——计数排序(C语言)
  6. GD32F103RBT6开发笔记
  7. maxscale mysql5.7_Centos7安装maxscale 实现mysql的读写分离
  8. 【荐课】10分钟速成课:经济学
  9. 备考BEC高级全记录:
  10. vscode没有应用程序与此操作的指定文件有关联
  11. HDU-4826 Labyrinth
  12. http://enki-ding-yeah-net.iteye.com/blog/1042644
  13. 前端要怎么学,前端学习路线图
  14. 腾讯物联TencentOS tiny上云初探
  15. 【Python+数学】笛卡儿积
  16. 抖音青少年模式?怎么这么好用啊!
  17. 银行业内部众测的正确打开姿势
  18. Linux下shell编程实例
  19. 从25岁到55岁,人生三个十年的规划和目标
  20. python转cpython_cpython的使用

热门文章

  1. c语言统计大小写字母 空格 和数字个数,C++统计中英文大小写字母、数字、空格及其他字符个数的方法...
  2. 阿里云——杭州云栖大会
  3. 结对项目—地铁出行路线规划
  4. 怎么修改docker镜像的名字_docker镜像如何重命名
  5. Tableau 网站流量分析案例汇总
  6. 地图 Api 使用小记 (use 51ditu)
  7. 易观CTO郭炜:开源,不是天才的甜点,而是勤奋者的盛宴
  8. 智能系统概论——初识百度AI平台
  9. Android多功能视频播放器GSYVideoPlayer开发流程
  10. 我儿喜欢摸奶奶 什么原因_我是奶奶,我的编码职业才刚刚开始