首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据另一列进行计数,并返回具有每一行最大计数的标签

根据另一列进行计数,并返回具有每一行最大计数的标签
EN

Stack Overflow用户
提问于 2020-12-26 02:12:19
回答 1查看 110关注 0票数 0

我有两个分类列“就业行业类别”和“财富部门”,我可以创建一个交叉表使用“就业行业类别”和“财富细分”来计算每个行业的价值。

,这就是我的交叉表当前的样子:

但是,我希望动态计算每个行业的财富部分列,然后返回每个行业的最大计数的财富部分。

,这就是我想要的:

我尝试过的:

我尝试过使用LOD表达式来获得每个行业财富分段计数的最大值,但这会返回一个非聚合值,并且我无法提取相应值的财富段标签。

代码语言:javascript
运行
复制
MAX(
{ FIXED [Job Industry Category], [Wealth Segment] : COUNT([Wealth Segment]) }
)

我也尝试过使用IF tried语句和LOD表达式,但是,因为LOD表达式是一个非聚合的值,所以它会引发错误。这就是我试过的:

代码语言:javascript
运行
复制
IF 
{ FIXED [Job Industry Category], [Wealth Segment] : COUNT([Wealth Segment]) } =  MAX(
{ FIXED [Job Industry Category], [Wealth Segment] : COUNT([Wealth Segment]) })
THEN
[Wealth Segment]
END

错误:不能将聚合和非聚合与此函数混合。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-26 13:45:21

你在这里做的事情不是以正确的方式进行的。

1您的第一个屏幕截图(表)不是您的数据,但是已经是一个交叉表查询(在excel中称为枢轴表),所以您如何能够想象在行或列中有额外的列。(第二张截图)。tableau不是像excel那样的电子表格,您可以根据方便创建行/列。

2为什么使用count(wealth status)作为聚合。虽然它会给出相同的值,但在这里,您需要在tableau的早期版本中将名为number of records的记录/数据计数。

3您还没有考虑到两个计数相等的情况。(它们很可能是平等的,不是吗?)

如果您想要的话,您可以创建一个新的列(当然没有交叉选项卡视图/viz),在这里您可以获得财富类别的名称,其中有比其他列更多的记录。

我创建了一些随机数据来复制你的问题。我的数据看起来像是(有100行)(表名是weal.csv)

交叉标签看起来

使用以下计算创建计算字段,例如Max of Wealth

代码语言:javascript
运行
复制
IF {Fixed [Sector], [Wealth Status]: COUNT([weal.csv])} =
{FIXED [Sector]: MAX({Fixed [Sector], [Wealth Status]: COUNT([weal.csv])})}
then [Wealth Status] END

您可以从该字段中筛选出null值,并且可以获得所需的值,如

注意到卫生部门的两个结果

我对新的桌面用户的真诚建议-取消电子表格第一

祝好运

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65453181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档