我正在使用Spotfire工具,我正在使用主数据表中的计算列将数据行通过正则表达式匹配到“家庭”中。例如,一行可能具有ABC1234xyz的“名称”,因此它将成为ABC家族的一部分,因为它包含字符串'ABC'。另一行可能是AQRST31x2af,属于QRST系列。重点是“家庭”是通过匹配名称中的子字符串来决定的,但该子字符串可以是任意长度,并且不一定是名称字符串的开头。如何通过正则表达式匹配来合并2个spotfire表?
现在我正在通过一个带有计算列的大嵌套If语句来做这件事。然而,这对于添加新家庭以及维持当前的家庭列表而言是乏味的。我想要做的是创建一个包含2列的表格,字符串匹配和姓氏。然后,我想从这张表中匹配来确定家庭而不是嵌套if。所以,它可能看起来像下表:
Match Table:
id_string | family
----------------------
ABC | ABC
QRST | QRST
SUP | Super
Main Data Table:
name | data | family
---------------------------------------
ABC1234 | 1.02342 | ABC
ABC1215 | 1.23749 | ABC
AQRST31x2af | 1.04231 | QRST
BQRST32x2ac | 1.12312 | QRST
1903xSUP | 1.51231 | Super
1204xSUP | 1.68123 | Super
如果您有任何建议,我将不胜感激。
谢谢。
嗯,谢谢你的建议。不幸的是,我的例子并没有涵盖每一个案例,所以这是行不通的。我需要的一些家庭包括数字,这将打破这一点,等等。问题是我不控制名称字段中项目的命名约定,但为了进行分析,我需要将它们分类。然后,我将尝试使用IronPython来完成此操作。 – wcase6