有没有办法在Tableau中查找/替换或批量复制重复的计算字段?

时间:2019-07-16 21:04:53

标签: regex sed grep tableau tableau-online

我在tableau中有一个包含许多不同列的表。每列都有一个计算字段。

我需要再增加约15张桌子。这些表中的每个表都与第一个表几乎相同,除了在某些字段中一个标志不同,而其他字段从THOSE字段中命名之外。

例如,我已经有一个名为“ M状态现在处于活动状态”的表。每个计算出的字段都被命名为“ MSNA {field title}”。每次计算中都包含“ ... AND status ='active'”

如何克隆所有这些字段,并用另一个条目(例如“ MSNI”)替换“ MSNA”,并用另一个条目(例如“ Inactive”)替换“ active”?

如果我能弄清楚如何批量查找和替换模式,这将节省我在Tableau中手动复制条目的时间。

我要复制的所有字段都包含某个模式,但要替换该模式的版本。就像我使用“ sed”一样。

请帮助!当我查看文件系统中的工作簿时,很难确定要修改的内容。

我对如何在Tableau中实现此功能非常迷茫,就像使用其他任何技术一样。

谢谢!

1 个答案:

答案 0 :(得分:1)

我知道这个答案有点晚了,但是:

所有.twb文件本质上都是大型XML文档。如果在体面的文本编辑器(我使用VS Code)中打开.twb,则可以按所需的批处理方式手动创建计算字段。

<column caption='Test Calc' datatype='boolean' name='[Calculation_1419478320962199552]' role='dimension' type='nominal'>
    <calculation class='tableau' formula='if [applicant_age] = &apos;15&apos; then true else false end' />
</column>
<column caption='Test Calc (Created in XML)' datatype='boolean' name='[Calculation_1419478320962199553]' role='dimension' type='nominal'>
    <calculation class='tableau' formula='if [applicant_age] = &apos;16&apos; then true else false end' />
</column>

显然,有几件事需要注意。您必须转义特殊字符,还必须确保'name'属性不与您拥有的任何其他自定义计算重叠,因为它是唯一的标识符。当您再次打开工作簿时,将自动加载您的计算,您可以手动跳过它。我已经为与您类似的用例做了几次!