表连接故障排除在尝试连接多个数据表时,我经常遇到问题,并且不确定我缺少什么。
最常见的是,我希望通过匹配日期来连接表。 有时这没问题,有时我会遇到很大的困难,必须在加入对话中尝试大量不同的选项。
通常,我的表 A 包含数千行记录机器数据。 每行都有一个日期时间戳。 我对 DateTime 字符串的前 10 个字符使用 substr() 命令创建一个日期列,然后将日期列设置为 YYYY-MM-DD 格式。 每个日期可能与数千个单独的行相关联。
表 B 是按天列出的产品列表。
我尝试将表 A 与表 B 连接起来,以便在表 A 的每一行上都标记一个产品标签。(例如,如果表 A 有 150,000 行代表 100 天的数据,则表 B 有 100 行产品日期,表C是150,000行原始数据,产品标签取自表B。) 我过去曾多次成功完成此操作,但有时在复制时会遇到问题,我不明白为什么。
我已经尝试过的一些事情:
-验证我没有尝试将 YYYY-MM-DD 数据与 YYYY-MM-DD H:M:S 数据进行匹配
-确保用于从日期时间列中提取日期数据的公式完全匹配
-将日期列输出数据复制到两个表上的新列中,然后进行匹配以避免公式中出现任何可能的问题
-尝试过不同的数据/建模类型来表示字符串
所有这些都给了我没有成功连接的表。 关于我在这里可能缺少什么的想法,或者表连接的一般“最佳实践技巧”? 我已阅读 JMP 文档,并且过去曾成功使用表连接,但我希望更好地了解这里可能发生的情况。 谢谢
数据混合和清理回复:表连接故障排除对于在发帖时没有跟进此线程,我们深表歉意。
我一直在使用 SubStr 命令从日期时间字符串中提取日期列的日期。 我将两个日期列公式更改为以下内容:
Abbrev Date( Num( :DateTime ), "YYYY-MM-DD" )
它解决了我的问题。 我还确定更新功能可能更适合我的需要。
回复:表连接故障排除时间戳数据可能会导致问题,因为这些值可能包含给定日期内的不同时间,但如果用于显示数据的公式是“仅日期”显示,并且不显示时间部分,则用户可能会认为存在匹配,但实际数值不同。
如果您转换为字符串,那么确保用于转换的格式至关重要,正如您所建议的。我发现另一个重要的项目是潜在的继续或后面的空格。因此,在转换为字符串时,我所做的就是使用 Trim() 函数修剪掉那些潜在的空格。
回复:表连接故障排除你好,
您是否有一个似乎无法获得所需结果的连接示例? 如果是这样,如果您附上以下内容,我相信我们会更好地了解到底发生了什么以及如何提供建议:
- 表 A 和表 B(当然,如果其中一个包含敏感数据,则已进行清理)。 这些可以是部分的......无需上传大量表格。
- (坏)表 C,其“源”脚本完好无损
- 至少成功的表“C”的几行......至少,成功的连接会是什么样子。 或者,取而代之的是对连接表 C 的错误的解释(即“第 21 行不正确,因为……”或“应该有一行包含这些元素,但没有……”)
连接可以通过多种方式进行横向...这将帮助我们了解您的具体情况。
干杯,
布雷迪
回复:表连接故障排除我通过将每个日期列复制并粘贴到 Excel 中,然后将两个表的它重新复制并粘贴到 JMP 中,使其正常工作。 但是,我仍然想了解这里发生了什么导致这个问题。