我在尝试加入多个数据表时经常遇到问题,我不确定我错过了什么。
最常见的是,我希望通过匹配日期来连接表。 有时这没问题,有时我会很挣扎,不得不在加入对话中尝试大量不同的选项。
通常,我有包含数千行记录机器数据的表 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 数据匹配
- 确保用于从 DateTime 列中提取日期数据的公式完全匹配
- 将日期列输出数据复制到两个表上的新列中,然后进行匹配以避免公式中出现任何可能的问题
- 尝试过不同的数据/建模类型来表示字符串
所有这些都给了我没有成功连接的表。 关于我在这里可能遗漏的任何想法,或表连接的一般“最佳实践提示”? 我已阅读 JMP 文档,并在过去使用 Table Joins 取得了成功,但我希望更好地了解此处可能发生的情况。 谢谢
我通过将每个日期列复制并粘贴到 excel 中,然后将其重新复制并粘贴到两个表的 JMP 中来使其工作。 但是,我仍然想了解这里发生了什么导致这是一个问题。
你好,
您是否有一个似乎无法获得所需结果的连接示例? 如果是这样,如果您附上以下内容,我相信我们会更好地了解正在发生的事情以及如何提供建议:
- 表 A 和表 B(当然,如果其中一个包含敏感数据,则进行清理)。 这些可以是部分的......无需上传大量表格。
- (坏)表 C,其“源”脚本完好无损
- 至少成功的表“C”的几行......至少,成功的加入会是什么样子。 或者,代替这一点,解释连接表 C 的错误(即“第 21 行不正确,因为……”或“应该有一行包含这些元素,但没有……”)
联接可以通过多种方式进行……这将有助于我们了解您的特定情况。
干杯,
布雷迪
时间戳数据可能会导致问题,因为这些值在给定的一天中可能包含不同的时间,但是如果用于显示数据的公式是“仅日期”显示,并且不显示时间组件,则用户可以认为存在匹配,但实际数值不同。
如果您转换为字符串,确保用于转换的格式至关重要,正如您所建议的。我认为重要的另一项是潜在的处理或跟随空格。所以我在转换为字符串时所做的是使用 Trim() 函数来修剪掉那些潜在的空格。