问题1-Tableau是否能够在Join操作期间使用全局变量将REGEXP中单行的多个结果与另一个表进行比较?如果否,则问题2为空。如果是...
问题2-我试图在计算的联接中使用正则表达式联接Tableau中的两个数据源,因为左表在每个单元格中有1个值(即64826),而右表在每个单元格中有4个可能的匹配项(即00000 | 00000 | 21678 | 64826)。
问题是我的正则表达式在找到1个匹配项(4个值中的第一个)后停止寻找,并且全局变量/ g产生了与我预期相反的效果,并消除了所有匹配项。
我在“数据源”选项卡上尝试了计算的联接。我也尝试过使用以下方法将这4个值分离到工作表中自己的列中
regexp_extract_nth
。在这两种情况下,正则表达式都停止照看第一个结果。左联接似乎有些起作用,而外联接什么也不返回。
REGEXP_EXTRACT([Event Number],'(\d{5})')
REGEXP_EXTRACT_NTH([Event Number],'(?!0{5})(\d{5})',1)
在这些示例中,即使右表中有64826,regex也会将NULL与左表匹配。我希望计算得出的联接将返回正确集合中的所有可能的匹配项,因此在21678和64826上将存在匹配项,像这样在右表中复制行...
21678 - 00000|00000|21678|64826
64826 - 00000|00000|21678|64826
45245 - 45106|45245|00000|00000
45106 - 45106|45245|00000|00000
答案 0 :(得分:0)
您的原始表达式很好,我们可能要确保在Tableau中发送正确的命令,但我不确定,也许让我们尝试类似以下表达式:
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$post_from_Rpi = file_get_contents('php://input');
$log_file = fopen('test.txt','a') or die("Unable to open the file");
fwrite($log_file, $post_from_Rpi);
fclose($log_file);
}
?>
即使只是为了测试,也可以将命令修改为:
\b([^0]....)\b
或:
REGEXP_EXTRACT([Event Number], '\b([^0]....)\b')
看看会发生什么。我假设所需的数字不是以REGEXP_EXTRACT_NTH([Event Number], '\b([^0]....)\b', 1)
开头。