我正在尝试按Crystal Reports中的特定列进行排序。我有一个狗和猫的品种按食物类型的交叉表。所以品种是行,食物类型(干的,湿的,生的,饮食的,年长的)是列。
细胞内部是百分比-例如,10%的金毛猎犬吃生的食物。我想按“生食”一栏进行排序,找出最好的品种,它们的主人喂它们生的食物。
我已经搜索过了,但找不到答案--大多数网站都说需要一个自定义公式,但我不能让它起作用。
如果我们能够弄清楚这一点,那么接下来就可以制作一个条形图,列出前5种生食品种。如果我们做到了这一点,然后按狗和猫进行排序(前5名生食狗,前5名生食猫)。
发布于 2015-04-24 14:09:00
通常,交叉表排序由整行指定,而不是针对单个列指定。您可以这样做,但它涉及一个额外的公式,正如您已经猜到的那样,它涉及一个小的变通方法。
这个新配方应该只考虑生的食物,而忽略所有其他类型的食物。所以就像这样:
//{@Raw Food}
//Formula that includes data only for raw food
if {Table.FoodType}="Raw" then {Table.NumberOfAnimalsThatEatThis}
现在进入您预先存在的交叉表,并将这个新公式添加到“汇总字段”中,这将允许您使用它进行排序。选择您的交叉表,右键单击它,选择"Group Sort Expert“,最后选择您刚刚创建的公式,并告诉CR按降序对交叉表进行排序。如果你不想显示这个字段(你可能不想),你可以只隐藏新的单元格。
至于您问题的第二部分:创建图表与交叉表无关,将完全独立设置。您可以使用您刚刚为生食创建的相同配方,并将其放入普通条形图中;没有什么棘手的。
https://stackoverflow.com/questions/29827279
复制