使用来自两个数据集的变量创建计算字段时 Tableau 出错
Error in Tableau when creating a calculated field with variables from two datasets
我有两个数据集:一个有数千行,包含有关客户的信息(每个客户一行)和 100 多个变量;另一个是机器学习过程的结果,它具有前 10 个最重要的客户变量的一些重要值(每个变量一行)。
我想创建一个图表来显示第一个数据集中的变量,该变量在第二个数据集中具有最高值。第二个数据集中的变量是:
[Dataset]: 是一个对所有数据集都相同的变量,用于固定一个计算(字符串)。
[Variables]:是一个包含最重要变量名称的列表(字符串)。
[与目标的相关性]:是该行中的变量与目标变量(浮点数)之间的相关性。
这是我的计算。第一个计算字段是在第二个数据集中创建的,另外两个计算字段是在第一个数据集中创建的。
最高相关性:
IF ABS([Correlation With Target])=={ FIXED [Dataset]:MAX(ABS([Correlation With Target]))} THEN [Variables] ELSE null END
变量数:
CASE ATTR([Sheet1 (Variable Dataset)].[Highest Correlation])
WHEN "Borrower Age" THEN 1
WHEN "Credit score - Borrower" THEN 2
WHEN "Monthly Disposable Income" THEN 3
WHEN "Loan Term" THEN 4
WHEN "LTV" THEN 5
WHEN "Monthly Interest Rate" THEN 6
WHEN "Outstanding Principal Balance" THEN 7
WHEN "Years at Address" THEN 8
WHEN "Years in Employment" THEN 9
END
相关图:
IF {[Highest Correlation]=1} THEN [Borrower Age]
ELSEIF {[Highest Correlation]=2} THEN [Credit Score]
ELSEIF {[Highest Correlation]=3} THEN [Income]
ELSEIF {[Highest Correlation]=4} THEN [Loan Term]
ELSEIF {[Highest Correlation]=5} THEN [LTV]
ELSEIF {[Highest Correlation]=6} THEN [Interest Rate]
ELSEIF {[Highest Correlation]=7} THEN [Outstanding Principal Balance]
ELSEIF {[Highest Correlation]=8} THEN [Years at Address]
ELSEIF {[Highest Correlation]=9} THEN [Years in Employment]
END
问题是在第3次计算中,调用[Highest Correlation]字段时,抛出这个错误:
"All fields in a level of detail expression must came from the same datasource"
这个问题的转折点是什么?
PS:我不能分享作业本和数据,但是我会回答任何相关的问题,所以我可以帮助你。
我认为问题在于 [Income] 字段来自不同的数据源。
如果可能的话,您 post 数据源和字段?
我有两个数据集:一个有数千行,包含有关客户的信息(每个客户一行)和 100 多个变量;另一个是机器学习过程的结果,它具有前 10 个最重要的客户变量的一些重要值(每个变量一行)。
我想创建一个图表来显示第一个数据集中的变量,该变量在第二个数据集中具有最高值。第二个数据集中的变量是:
[Dataset]: 是一个对所有数据集都相同的变量,用于固定一个计算(字符串)。
[Variables]:是一个包含最重要变量名称的列表(字符串)。
[与目标的相关性]:是该行中的变量与目标变量(浮点数)之间的相关性。
这是我的计算。第一个计算字段是在第二个数据集中创建的,另外两个计算字段是在第一个数据集中创建的。
最高相关性:
IF ABS([Correlation With Target])=={ FIXED [Dataset]:MAX(ABS([Correlation With Target]))} THEN [Variables] ELSE null END
变量数:
CASE ATTR([Sheet1 (Variable Dataset)].[Highest Correlation])
WHEN "Borrower Age" THEN 1
WHEN "Credit score - Borrower" THEN 2
WHEN "Monthly Disposable Income" THEN 3
WHEN "Loan Term" THEN 4
WHEN "LTV" THEN 5
WHEN "Monthly Interest Rate" THEN 6
WHEN "Outstanding Principal Balance" THEN 7
WHEN "Years at Address" THEN 8
WHEN "Years in Employment" THEN 9
END
相关图:
IF {[Highest Correlation]=1} THEN [Borrower Age]
ELSEIF {[Highest Correlation]=2} THEN [Credit Score]
ELSEIF {[Highest Correlation]=3} THEN [Income]
ELSEIF {[Highest Correlation]=4} THEN [Loan Term]
ELSEIF {[Highest Correlation]=5} THEN [LTV]
ELSEIF {[Highest Correlation]=6} THEN [Interest Rate]
ELSEIF {[Highest Correlation]=7} THEN [Outstanding Principal Balance]
ELSEIF {[Highest Correlation]=8} THEN [Years at Address]
ELSEIF {[Highest Correlation]=9} THEN [Years in Employment]
END
问题是在第3次计算中,调用[Highest Correlation]字段时,抛出这个错误:
"All fields in a level of detail expression must came from the same datasource"
这个问题的转折点是什么?
PS:我不能分享作业本和数据,但是我会回答任何相关的问题,所以我可以帮助你。
我认为问题在于 [Income] 字段来自不同的数据源。
如果可能的话,您 post 数据源和字段?