[英]Google Datastudio: Apply Date Range Filter for Two Different Date Columns of Date Source
[英]Filter by a value in two columns
我的桌子看起来像这样
团队 | 语 | 人们 |
---|---|---|
A组 | 英语 | 3 |
B组 | 英语 | 4 |
B组 | 西班牙语 | 3 |
西班牙队 | 西班牙语 | 4 |
团队 C | 葡萄牙语 | 4 |
如果您注意到, Team B
处理英语和西班牙语,还有一个Team Spanish
。
我想将Team Spanish
与Team B - Spanish
结合起来,所以它只显示一行,总和为 7 人。
我的预期结果:
团队 | 语 | 人们 |
---|---|---|
西班牙队 | 西班牙语 | 7 |
我的解决方法是创建一个额外的列,将Team
列与Language
列结合起来,然后对结果求和
SUMIF(people, aux_col IN ('team B - Spanish', 'Team Spanish - Spanish')) AS new_people_count
别管最后的代码,它只是伪代码
我使用谷歌表格进行了计算。 我认为你必须分两步完成你的目标: 第一步 创建一个像你原来的表一样的表。 这是 google sheet Original Table中的原始表格。 在新表中写入标题,并在 TEAM 列下写入此公式 =if (B3<>"Spanish";A3;"Team Spanish") 将此公式复制到第 4 到 7 行中。在 LANGUAGE 和 PEOPLE 列下复制LANGUAGE 列的原始表示例的确切值写入 =B3 并从此公式中复制第 4 到 7 行。PEOPLE 列的示例写入 =C3 并从此公式中复制第 4 到 7 行。最后,您将有这个表:表步骤 1
最后你必须上表 pivot。 在行中放置 TEAM 和 LANGUAGE。 不要在 PEOPLE 的 SUM 列中添加任何内容。 在这里你有你的决赛桌决赛桌
让我知道这是否是您想要做的。 再见
使用具有条件的查询将所有 Team B-Spanish 更改为 Team Spanish 我还添加了计数 function,该计数添加了 (sum()) 人员并产生了预期的 output:
WITH Sample AS
(SELECT 'Team A' as Team, "English" as Language, 3 as People UNION ALL
SELECT 'Team B', "English", 4 UNION ALL
SELECT 'Team B', "Spanish", 3 UNION ALL
SELECT 'Team Spanish', "Spanish", 4 UNION ALL
SELECT 'Team C', "Portuguese", 4)
SELECT Language, CASE
WHEN CONCAT(Team, '-', Language) = 'Team B-Spanish' THEN 'Team Spanish'
ELSE Team
END AS Team,
SUM (People) as People
From Sample where Language = "Spanish" GROUP BY Team, Language
我的想法过于复杂了......这段代码解决了这个问题
CASE
WHEN CONCAT(team, '-', language) = 'Team B-Spanish' THEN 'Team Spanish'
ELSE team
END AS team,
在 SQL 中,您可以运行如下查询:
select case when Language="Spanish" then "Team Spanish" else Team end as Team, Language, sum(People) from myTable group by Team, Language
让我知道这是否可以成为您的解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.