首页 文章

Spotfire - 在交叉表中将一行值与另一行值分开

提问于
浏览
1

我有一个交叉表,显示了几个月销售的水果,如下所示:

![Table 1]](https://www.javaroad.cn/files/images/22db8fd2-0bba-4a0c-bf41-baafe2e7afe3.jpg)

现在,我想看一个表(如下所示),它将一个单元格与另一个单元格划分为一个特定的列:

![Table 2]](https://www.javaroad.cn/files/images/854ca314-aea5-4acd-9097-673bd645eeab.jpg)

如果可以通过OVER声明告诉我 .


UPDATE:

@Chris - 我已经在访问中转换了原始表,可以在Spotfire中创建下面的交叉表可视化 .

注意:苹果销售,销售橙子,销售的西瓜现在是应用转化后的单独栏目 .

Cross table visualization

但是,我希望以下面的格式看到交叉表 .

Transposed table

如果可能,请告诉我 . 如果可以使用Iron Python脚本实现这一点,我就可以了 .

谢谢!

1 回答

  • 1

    由于您的数据格式很粗,我的原始答案不起作用 . 我保留了答案作为其中的一部分,以防它帮助其他人,见下文 .

    通过您的更新,您似乎已设法使用所需的数据创建crosstable . 虽然如果能在行,列和测量轴上显示精确的轴表达式会很有帮助,但我可以尝试说明如何根据需要在交叉表中转置数据 . 有关说明,请参见最后一节 .

    使用高瘦的格式,您将无法使用OVER表达式,因为您希望进行显式比较(至少我不认为这是可能的) . 首先,我想指出你必须以某种方式决定你想要比较哪些水果,或者你可能想要比较所有这些水果 . 确切的解决方案取决于您的实际用例是什么以及您需要它的动态性 .

    可能的解决方案:

    在您的crosstable中,将行轴定义为(列名称):

    <[Axis.Default.Names]>
    

    将时间轴放在列轴上,例如:

    <BinByDateTime([Time],"Year.Month",1)>
    

    在测量轴上,您现在将添加您感兴趣的所有比较,例如:

    Sum(if([Fruit]="Apple", [Sold],null)) / Sum(if([Fruit]="Watermelon",[Sold],null)) as [Apples vs Watermelons],
    Sum(if([Fruit]="Orange",[Sold],null)) / Sum(if([Fruit]="Watermelon",[Sold],null)) as [Oranges vs Watermelons]
    

    这是我用自己非常小的虚拟数据集看起来的链接:
    Example crosstable result

    您可以将它与文本区域中的用户控件结合使用,也可以使用$ map()表达式函数,以便在需要时使其更具动态性 . 如果您在此需要大量动态行为,则可能需要更改为使用数据函数 .


    老答案

    以下是我的原始答案,其中包括对此案例中不适用的数据的推定 . 如果其他人确实有这种情况,请保持在这里 .

    在表1中,您有两个分类轴,一个用于时间,一个用于水果 . 你所展示的措施是销售水果的数量 .

    在表2中,我会说你只有一个分类轴,时间 . 之后,您有两个测量值,您的行轴将是'(列名称)' .

    这些措施将是苹果的数量除以橙子的数量,以及橙子的数量除以西瓜的数量 . 如果您右键单击测量轴并转到自定义表达式,您可能会遇到以下情况:

    Sum([Apples]) / Sum([Oranges]) as [Apples vs. Oranges], 
    Sum([Oranges]) / Sum([Watermelons]) as [Oranges vs. Watermelons]
    

    此外,转到属性 - >格式化并根据自己的喜好设置百分比格式 .

    在交叉表中转置

    它会猜测你的轴表达式是什么 . 即使我猜错了,无论初始状态如何,相同的方法都适用 . 您只需要将行轴与列轴交换 . 您可以使用轴选择器,或从自定义表达式编辑器复制和粘贴来完成此操作 . 如果这是您从一开始就拥有的那种配置:
    Original crosstable configuration

    然后通过交换轴表达式,这就是你得到的:
    Transposed crosstable configuration

相关问题