在twb(xml)文件中查找操作的目标工作表

时间:2018-02-16 07:22:02

标签: tableau

我的目的是找到tableau工作簿中的操作的目标工作表。我应该在哪里搜索该目标工作表对应于twb(xml)文件中的某些特定操作?

例如:

<actions>
    <action caption='Filter 1 (generated)' name='[Action1]'>
      <activation auto-clear='true' type='on-select' />
      <source dashboard='Figure 8-60 thought 8-65' type='sheet' worksheet='Heat Map' />
      <command command='tsc:tsl-filter'>
        <param name='special-fields' value='all' />
        <param name='target' value='Figure 8-60 thought 8-65' />
      </command>
    </action>
    <action caption='Filter 2 (generated)' name='[Action2]'>
      <activation auto-clear='true' type='on-select' />
      <source dashboard='Figure 8-59' type='sheet' worksheet='Poor Filter Design' />
      <command command='tsc:tsl-filter'>
        <param name='special-fields' value='all' />
        <param name='target' value='Figure 8-59' />
      </command>
    </action>
    <action caption='Filter 3 (generated)' name='[Action3]'>
      <activation auto-clear='true' type='on-select' />
      <source dashboard='Figure 8-59' type='sheet' worksheet='Good Filter Design' />
      <command command='tsc:tsl-filter'>
        <param name='special-fields' value='all' />
        <param name='target' value='Figure 8-59' />
      </command>
    </action>
  </actions>
  • 正如您所看到的,代码filter1操作在目标属性中存在一个param标记,但其中存在的值是一个dashoard名称。我想要的是对应于动作过滤器的目标woksheet。

2 个答案:

答案 0 :(得分:2)

尝试使用.twb文件播放一下,并将其用于仪表板操作:

        <actions>
    <action caption='Filter 1 (generated)' name='[Action1]'>
      <activation auto-clear='true' type='on-select' />
      <source dashboard='Dashboard 1' type='sheet' worksheet='Sheet 3' />
      <command command='tsc:tsl-filter'>
        <param name='special-fields' value='all' />
        <param name='target' value='Dashboard 1' />
      </command>
    </action>
    <action caption='Filter 2 (generated)' name='[Action2]'>
      <activation auto-clear='true' type='on-select' />
      <source dashboard='Dashboard 2' type='sheet' worksheet='Sheet 2' />
      <command command='tsc:tsl-filter'>
        <param name='special-fields' value='all' />
        <param name='target' value='Dashboard 2' />
      </command>
    </action>
    <action caption='Filter 3 (generated)' name='[Action3]'>
      <activation auto-clear='true' type='on-select' />
      <source dashboard='Dashboard 2' type='sheet' worksheet='Sheet 3' />
      <command command='tsc:tsl-filter'>
        <param name='special-fields' value='all' />
        <param name='target' value='Dashboard 2' />
      </command>
    </action>
  </actions>

老实说,我找不到任何direct link到目标表,而源表总是在操作中可用,这可以在“操作”窗口中观察到。

enter image description here

但是,如果我们转到单个工作表操作而不是仪表板操作,我可以看到映射到目标工作表的操作,我们可以将目标视为仪表板。

请参阅下面的数据,我在其中创建了一个虚拟仪表板来检查操作。

这些是在报告中创建的操作:

<group caption='Action (Product Category)' hidden='true' name='[Action (Product Category)]' name-style='unqualified' user:auto-column='sheet_link'>
        <groupfilter function='crossjoin'>
          <groupfilter function='level-members' level='[Product Category]' />
        </groupfilter>
      </group>
      <group caption='Action (Product Sub-Category)' hidden='true' name='[Action (Product Sub-Category)]' name-style='unqualified' user:auto-column='sheet_link'>
        <groupfilter function='crossjoin'>
          <groupfilter function='level-members' level='[Product Sub-Category]' />
        </groupfilter>
      </group>

除此之外,如果我们转到单个工作表,那么我们可以看到先映射的操作是针对Sheet 2而另一个是针对Sheet 3:

<filter class='categorical' column='[federated.0idnrl40bk56fg130xiy30dnljux].[Action (Product Category)]'>
            <groupfilter function='level-members' level='[Product Category]' user:ui-enumeration='all' user:ui-marker='enumerate' />
          </filter>
          <slices>
            <column>[federated.0idnrl40bk56fg130xiy30dnljux].[Action (Product Category)]</column>
          </slices>

           <filter class='categorical' column='[federated.0idnrl40bk56fg130xiy30dnljux].[Action (Product Sub-Category)]'>
            <groupfilter function='level-members' level='[Product Sub-Category]' user:ui-enumeration='all' user:ui-marker='enumerate' />
          </filter>
          <slices>
            <column>[federated.0idnrl40bk56fg130xiy30dnljux].[Action (Product Sub-Category)]</column>
          </slices>

如果我们跟踪在仪表板中创建的操作,那么我们可以使用操作名称轻松告知仪表板中所有工作表的连接情况。

想知道你的想法和观察。

答案 1 :(得分:0)

  • 更改操作名称

  • 进入.twb XML并更改&lt;&gt;的顺序块。

  • 进入.twb XML并更改内部Action1,Action2等名称。这样做我可以更改仪表板2和仪表板3中的哪一个打开。

  • 将网页对象添加到仪表板1,然后使用about:blank作为目标,使用URL操作优先于过滤器操作。