首页 > 解决方案 > 找出两个计算组之间的差异?

问题描述

我有虚拟的人力资源数据,我想通过地图对基于出生年份分组的中位数工资差异进行着色。

我有一个快速计算字段将它们分成出生年份组:

IF DATE([Date of Birth]) >=#1976# THEN "Group 1"
ELSE "Group 2"
END

现在我想找出这两组的工资中位数之间的差异,但我想通过地图有条件地格式化它们,以查看工资中位数保持相似或差异很大的地方。

例如:Median(Group 1([salary])-Median(Group 2([salary])会给我一个+/- difference然后我希望它通过渐变着色,然后通过状态级细节勾勒出轮廓。

这可能很容易,但我想不出如何通过这些组来做到这一点。这会是 LOD 计算吗?

标签: tableau-api

解决方案


定义一个计算来返回组 1 中行的薪水,否则返回 null。称之为Old_Folks_Salary,定义类似if Year([Birth Date]) < 1976 then [Salary] end(如果 if 语句中的条件不满足,并且没有 else 子句,则表达式返回 null。)为年轻人定义类似的字段。

要知道的诀窍是聚合函数,如 Median,默默地忽略空值。就好像空值甚至不存在一样。所以...您现在可以将汇总计算表示为

Median([Old Folks Salary]) - Median([Young Folks Salary])

对于额外的功劳,您可以将 1976 年的硬编码阈值替换为参数,并寻找政治上更可接受的字段名称。


推荐阅读