我在Tableau Server中有下表,并且使用用户名()将返回'雇员'值。
+----------+---------+----------+
| Employee | Manager | Job Role |
+----------+---------+----------+
| jdoe | hwu | Analyst |
| anon | hwu | IT |
| jlaw | hwu | Analyst |
| kreaves | bpitt | Analyst |
| jlopez | bpitt | IT |
| mmoss | bpitt | IT |
+----------+---------+----------+
目标:根据参数找到类似于自我的用户。参数值 - 经理,工作角色。
示例:我的用户名()是jdoe。当我选择参数值"经理"时,Tableau过滤并给出了" HWU"下的员工的结果,如下所示。
+----------+
| Employee |
+----------+
| jdoe |
| anon |
| jlaw |
+----------+
同样,当选择职位角色时,它将过滤到具有工作角色"分析师"的用户列表中,如下所示。
+----------+
| Employee |
+----------+
| jdoe |
| jlaw |
| kreaves |
+----------+
我知道应该使用LOD计算对此有一个简单的解决方案,但是我对如何处理!
制作一个计算出的字段,该字段使用用户名(),您的参数和所需的任何字段来产生布尔值。使用该字段过滤到感兴趣的行。
例如,创建一个称为[感兴趣的值]的计算字段 if [My Param] = "Manager" then [Manager] else [Job Role] end
和另一个计算出的字段,称为[我感兴趣的值] { min(if [Employee] = username() then [Value of Interest] end) }
是您的lod calc。
现在,您可以在过滤架上进行计算,以测试[My Value of Interest] = [Value of Interest]
我不是可以对此进行测试的地方,但应该让您开始