Tableau解决if语句不能混合聚合和非聚合值

Tableau解决if语句不能混合聚合和非聚合值
因为tableau是不支持if语句下赋值聚合值的,比如,我们要实现, 按月统计,12月份之前是一个逻辑,12月份后是另一个逻辑
示例 if(date>‘2019-12-01’)
then count(id)
else count(name)
end
按道理说我们应该这样写,但是tableau不支持,所以我们需要把聚合数据转化成非聚合数据,可以使用fixed函数
分别定义两个计算字段
字段1(field1) 内容:{fixed month(date):count(id)}
字段2 (field2)内容:{fixed month(date):count(name)}
fixed的是非聚合数据,所以我们把聚合的值赋值给我们新建的两个字段
那么上面的逻辑就可以这样写,新建一个字段 Judge
示例: if(date>‘2019-12-01’)
then field1
else field2
end
最终,按照月份统计,AVG(Judge)这个字段

来解释下fixed字段,fixed字段,是按照某个维度进行聚合,然后得出聚合值,比如:
我们按照 id进行聚合,对num求sum值
{fixed id:sum(num)} ,那么效果如下

id num fixed后的字段
1 10 35
1 12 35
1 13 35
2 11 54
2 43 54
所以我们要按照id聚合,求值的时候,直接AVG(fixed后的字段)就是我们要得聚合值

  • 10
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL本身是一个关系型数据库管理系统,不像Power Pivot那样具备内置的数据分析和建模功能。但是,你可以通过以下方法在MySQL进行复杂的数据查询和分析: 1. 学习和使用SQL语言: - SQL是用于查询和分析数据库的标准语言,你可以使用SELECT语句检索数据,使用WHERE子句过滤数据,使用GROUP BY子句进行分组,使用聚合函数计算指标等。 - 学习SQL的高级特性,如子查询、联合查询、窗口函数等,以便进行更复杂的数据分析。 2. 利用MySQL的内置函数和操作符: - MySQL提供了丰富的内置函数,如数学函数、字符串函数、日期和时间函数等,可以用于数据处理和计算。 - 还可以使用MySQL的操作符(如逻辑操作符、比较操作符等)进行条件筛选、计算和逻辑操作。 3. 使用存储过程和触发器: - 存储过程是一组预编译的SQL语句,可以在MySQL创建和执行。你可以编写存储过程来实现复杂的数据处理逻辑和分析操作。 - 触发器是与表相关联的一种特殊类型的存储过程。你可以使用触发器在特定的数据变化时执行相应的操作,例如更新汇总数据或生成报表。 4. 结合其他工具和库: - 使用MySQL的连接器(如JDBC、ODBC等)将数据导入到其他数据分析工具,如Excel、Tableau等,以利用它们的高级分析和可视化功能。 - 通过使用MySQL的扩展工具或第三方库,如MySQL Workbench、DataGrip等,可以提供更高级的查询和分析功能。 需要注意的是,虽然MySQL可以支持复杂的数据查询和分析,但它并不像专门的数据分析工具那样具备高级的建模和可视化功能。如果你需要更复杂的数据分析和建模能力,可以考虑结合其他工具或平台来实现你的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值