Tableau按电影汇总总播放量时SUMIF语句计算错误求助
问题原因分析
- 你编写的
SUM(IF [Title] = [Title] THEN [Views] END)逻辑本身没有筛选作用:[Title] = [Title]对所有非空的标题字段值都恒成立,相当于直接对全表的播放量字段求和,得到的是所有电影的总播放量,而非每部电影各自的总播放量。 - 如果你是在BI工具的计算字段中写的这段公式,没有指定分区维度的前提下,默认会对全表所有行计算,自然不会按电影维度拆分统计结果。
解决方法
SQL场景
直接用GROUP BY按电影标题分组求和即可,参考语句:
SELECT [Title], SUM([Views]) AS total_views FROM 你的数据集表名 GROUP BY [Title]
Tableau等BI工具场景
- 方法1:无需额外写计算字段,直接将
Title字段拖到维度栏,Views字段拖到度量栏,将度量的聚合方式选为SUM即可自动得到每部电影的总播放量。 - 方法2:如果需要固化为计算字段,可以使用FIXED级别LOD表达式固定按标题分区计算:
{FIXED [Title] : SUM([Views])}
Python Pandas场景
使用groupby方法按标题分组聚合即可:
# 此处df为存储你的数据集的DataFrame变量 total_views_per_movie = df.groupby('Title')['Views'].sum().reset_index()
内容的提问来源于stack exchange,提问作者user13965559
相关产品推荐
相关产品推荐

