Tableau Desktop - 如何将多个计算字段合并为一个以用作过滤器?
Tableau Desktop - How do you combine multiple Calculated Fields into one to use as a Filter?
首先请允许我说,如果您知道实现我正在努力实现的目标的更简单方法,我愿意接受建议。我是在 tableau desktop 上自学的,我只在这个平台上工作了八个月。
我创建了七个计算字段,用于按计数衡量总缺陷和净缺陷的严重程度(严重、中等、轻微和通过)。因此,例如,对于 Gross 度量,我有一个计算字段,如下所示:
CountD(IIF([Initial Loan Rating]="Minor",[Id (Projectloanfiles)],Null))
并且此计算字段的名称是“-Gross Minor”
净测量值是:
CountD(IIF([Initial Loan Rating]="Minor",[Id (Projectloanfiles)],Null))
并且此计算字段的名称是“-Net Minor”
为了针对其他四个级别进行调整,我只是将 "Minor" 更改为中等、严重或通过,并相应地调整计算字段的名称。然后我抓取我创建的计算字段,将它们拖到行中。
所以这些都很好,但我还想使用计算字段创建一个过滤器,以便在显示 "Gross" 或 "Net" 缺陷之间切换。我知道我可以创建一个单独的工作表,一个只显示总值,另一个只显示净值。但我宁愿尽量减少工作表的数量。
非常感谢所有帮助!
斯科特
如果我正确理解了你的问题,那么你可以使用 Parameters
来解决这个问题
创建数据类型为 String
的参数,然后添加自定义值 Gross
和 Net
。
现在您只能使用单个 sheet 并按如下方式更改您的公式:
if [Parameter]="Gross"
CountD(IIF([Initial Loan Rating]="Minor",[Id (Projectloanfiles)],Null)) //'-Gross Minor'
elseif [Parameter]="Net"
then CountD(IIF([Initial Loan Rating]="Minor",[Id (Projectloanfiles)],Null)) //'-Net Minor'
end
通过这个过程,您将拥有 4 个公式并使用参数,您可以在 Gross 和 Net
之间切换
编辑---------------------------------------- ------------------------------
IF [Gross/Net Parameter]="Gross" AND [Initial Loan Rating]="Minor" //'-Gross Minor'
THEN [Id (Projectloanfiles)]
ELSEIF [Gross/Net Parameter]="Gross" AND [Initial Loan Rating]="Moderate" //'-Gross Moderate'
THEN [Id (Projectloanfiles)]
ELSEIF [Gross/Net Parameter]="Gross" AND [Initial Loan Rating]="Severe" //'-Gross Severe'
THEN [Id (Projectloanfiles)]
ELSEIF [Gross/Net Parameter]="Net" AND [Final Loan Rating]="Pass" //'-Net Pass
THEN [Id (Projectloanfiles)]
ELSEIF [Gross/Net Parameter]="Net" AND [Final Loan Rating]="Minor" //'-Net Minor'
THEN [Id (Projectloanfiles)]
ELSEIF [Gross/Net Parameter]="Net" AND [Final Loan Rating]="Moderate" //'-Net Moderate'
THEN [Id (Projectloanfiles)]
ELSEIF [Gross/Net Parameter]="Net" AND [Final Loan Rating]="Severe" //'-Net Severe'
THEN [Id (Projectloanfiles)]
ELSE Null
END
我创建了七个计算字段,用于按计数衡量总缺陷和净缺陷的严重程度(严重、中等、轻微和通过)。因此,例如,对于 Gross 度量,我有一个计算字段,如下所示:
CountD(IIF([Initial Loan Rating]="Minor",[Id (Projectloanfiles)],Null))
并且此计算字段的名称是“-Gross Minor”
净测量值是:
CountD(IIF([Initial Loan Rating]="Minor",[Id (Projectloanfiles)],Null))
并且此计算字段的名称是“-Net Minor”
为了针对其他四个级别进行调整,我只是将 "Minor" 更改为中等、严重或通过,并相应地调整计算字段的名称。然后我抓取我创建的计算字段,将它们拖到行中。
所以这些都很好,但我还想使用计算字段创建一个过滤器,以便在显示 "Gross" 或 "Net" 缺陷之间切换。我知道我可以创建一个单独的工作表,一个只显示总值,另一个只显示净值。但我宁愿尽量减少工作表的数量。
非常感谢所有帮助!
斯科特
如果我正确理解了你的问题,那么你可以使用 Parameters
创建数据类型为 String
的参数,然后添加自定义值 Gross
和 Net
。
现在您只能使用单个 sheet 并按如下方式更改您的公式:
if [Parameter]="Gross"
CountD(IIF([Initial Loan Rating]="Minor",[Id (Projectloanfiles)],Null)) //'-Gross Minor'
elseif [Parameter]="Net"
then CountD(IIF([Initial Loan Rating]="Minor",[Id (Projectloanfiles)],Null)) //'-Net Minor'
end
通过这个过程,您将拥有 4 个公式并使用参数,您可以在 Gross 和 Net
之间切换编辑---------------------------------------- ------------------------------
IF [Gross/Net Parameter]="Gross" AND [Initial Loan Rating]="Minor" //'-Gross Minor'
THEN [Id (Projectloanfiles)]
ELSEIF [Gross/Net Parameter]="Gross" AND [Initial Loan Rating]="Moderate" //'-Gross Moderate'
THEN [Id (Projectloanfiles)]
ELSEIF [Gross/Net Parameter]="Gross" AND [Initial Loan Rating]="Severe" //'-Gross Severe'
THEN [Id (Projectloanfiles)]
ELSEIF [Gross/Net Parameter]="Net" AND [Final Loan Rating]="Pass" //'-Net Pass
THEN [Id (Projectloanfiles)]
ELSEIF [Gross/Net Parameter]="Net" AND [Final Loan Rating]="Minor" //'-Net Minor'
THEN [Id (Projectloanfiles)]
ELSEIF [Gross/Net Parameter]="Net" AND [Final Loan Rating]="Moderate" //'-Net Moderate'
THEN [Id (Projectloanfiles)]
ELSEIF [Gross/Net Parameter]="Net" AND [Final Loan Rating]="Severe" //'-Net Severe'
THEN [Id (Projectloanfiles)]
ELSE Null
END