Sorting Crystal报表按交叉表中的特定列排序

Sorting Crystal报表按交叉表中的特定列排序,sorting,crystal-reports,crosstab,crystal-reports-xi,Sorting,Crystal Reports,Crosstab,Crystal Reports Xi,我试图在Crystal Reports中按特定列进行排序。我有一个按食物类型分类的狗和猫的交叉表。因此,品种是行,食物类型(干、湿、生、饮食、高级)是列 细胞内是百分比——例如,10%的金毛猎犬吃生食。我想按“生的”一栏进行分类,找出那些主人给它们生食的顶级品种 我已经搜索过了,但找不到答案——大多数网站都说需要自定义公式,但我找不到一个 如果我们能够弄清楚这一点,那么下一步能够制作出前5个生吃品种的条形图就太棒了。如果我们能做到这一点,就可以按狗和猫进行排序(前5名为生吃狗,前5名为生吃猫)。

我试图在Crystal Reports中按特定列进行排序。我有一个按食物类型分类的狗和猫的交叉表。因此,品种是行,食物类型(干、湿、生、饮食、高级)是列

细胞内是百分比——例如,10%的金毛猎犬吃生食。我想按“生的”一栏进行分类,找出那些主人给它们生食的顶级品种

我已经搜索过了,但找不到答案——大多数网站都说需要自定义公式,但我找不到一个


如果我们能够弄清楚这一点,那么下一步能够制作出前5个生吃品种的条形图就太棒了。如果我们能做到这一点,就可以按狗和猫进行排序(前5名为生吃狗,前5名为生吃猫)。

通常,交叉表排序是由整行指定的,而不是为单个列指定的。您可以这样做,但它涉及到一个涉及附加公式的小解决方案,正如您已经猜到的

这个新公式应该只考虑生食而忽略其他所有类型。比如说:

//{@Raw Food}
//Formula that includes data only for raw food
if {Table.FoodType}="Raw" then {Table.NumberOfAnimalsThatEatThis}
现在进入预先存在的交叉表,将这个新公式添加到“摘要字段”中,这将允许您使用它进行排序。选择您的交叉表,右键单击它,选择“组排序专家”,最后选择您刚刚创建的公式,并告诉CR按降序排序交叉表。如果您不想显示此字段(您可能不会),您可以抑制新单元格


至于问题的第二部分:创建图表与交叉表无关,将完全独立设置。你可以使用你刚刚为生食品创建的相同配方,并将其放入普通条形图中;没什么棘手的。

非常感谢!你是最棒的@不客气。如果答案解决了你的问题,别忘了接受和/或投赞成票。