使用来自两个数据集的变量创建计算字段时 Tableau 中的错误
Posted
技术标签:
【中文标题】使用来自两个数据集的变量创建计算字段时 Tableau 中的错误【英文标题】:Error in Tableau when creating a calculated field with variables from two datasets 【发布时间】:2018-08-09 08:20:35 【问题描述】:我有两个数据集:一个包含数千行,其中包含有关客户端的信息(每个客户端一行)和 100 多个变量;另一个是机器学习过程的结果,它具有前 10 个最重要的客户变量的一些重要值(每个变量一行)。
我想创建一个图表来显示第一个数据集中第二个数据集中具有最高值的变量。第二个数据集中的变量是:
[Dataset]:是一个对所有数据集都相同的变量,用于固定计算(字符串)。
[Variables]:是一个包含最重要变量名称的列表(字符串)。
[Correlation With Target]:是该行中的变量与目标变量(浮点数)之间的相关性。
这是我所做的计算。第一个计算字段在第二个数据集中创建,另外两个计算字段在第一个数据集中创建。
最高相关性:
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]字段时,会抛出这个错误:
“一个详细级别表达式中的所有字段必须来自同一个数据源”
如何解决这个问题?
PS:我不能分享工作簿或数据,但我会回答任何与之相关的问题,以便我可以帮助你。
【问题讨论】:
嗨 Pedro,您考虑过跨数据库连接吗?一般来说,如果您尝试使用混合,LOD 表达式将具有挑战性。另一方面,加入可能是实现您的结果的更简单方法。 【参考方案1】:我认为问题在于 [Income] 字段来自不同的数据源。
如果可以发布数据源和字段?
【讨论】:
不,我不能。是的,问题在于它来自另一个数据源。以上是关于使用来自两个数据集的变量创建计算字段时 Tableau 中的错误的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 用于计算来自TChain的给定变量集的cov矩阵的宏
R语言dataframe数据索引方式table函数计算两个分类变量的频率表使用with函数则可以不使用索引符号直接使用dataframe的变量变量因子化(factor)并查看summary统计