如何动态排序水晶报表

2020-09-05 07:11发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在处理Crystal报表2013中的报表。此报表通过另一个应用程序(Charles River)的前端运行,用户可以将参数传递给报表以过滤特定数据。 在此报告中,我创建了3个级别的动态分组,因此用户可以选择仅定义第一个级别的分组以查看摘要报告,或者选择所有这三个级别以查看非常详细的报告。 卡住的地方在于,我希望排序根据定义的分组级别的数量而变化。 我希望不要让用户输入排序参数,而是使用分组级别来确定排序。

例如,假设该报告可以按国家,州和城市分组,并且该报告显示了总销售额。

如果用户仅按国家/地区对报告进行分组,则报告将汇总国家/地区级别的销售数据,并且报告将按销售额从大到小排序

国家销售

美国1,000

加拿大500

如果用户按国家和州对报告进行分组,则该报告将汇总国家/州级别的销售数据,并且该报告将按国家/地区从A到Z进行排序,然后按销售额从最大到最小进行分类

国家/地区销售

加拿大安大略省100

加拿大艾伯塔省50

美国得克萨斯州200

美国佛罗里达州150

记录排序专家和组排序专家不提供此灵活性。

有没有一种方法可以进行这种排序? 能否请您尽可能详细地说明如何执行此操作,以便我知道需要在哪里进行更改。

非常感谢你,大卫。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在处理Crystal报表2013中的报表。此报表通过另一个应用程序(Charles River)的前端运行,用户可以将参数传递给报表以过滤特定数据。 在此报告中,我创建了3个级别的动态分组,因此用户可以选择仅定义第一个级别的分组以查看摘要报告,或者选择所有这三个级别以查看非常详细的报告。 卡住的地方在于,我希望排序根据定义的分组级别的数量而变化。 我希望不要让用户输入排序参数,而是使用分组级别来确定排序。

例如,假设该报告可以按国家,州和城市分组,并且该报告显示了总销售额。

如果用户仅按国家/地区对报告进行分组,则报告将汇总国家/地区级别的销售数据,并且报告将按销售额从大到小排序

国家销售

美国1,000

加拿大500

如果用户按国家和州对报告进行分组,则该报告将汇总国家/州级别的销售数据,并且该报告将按国家/地区从A到Z进行排序,然后按销售额从最大到最小进行分类

国家/地区销售

加拿大安大略省100

加拿大艾伯塔省50

美国得克萨斯州200

美国佛罗里达州150

记录排序专家和组排序专家不提供此灵活性。

有没有一种方法可以进行这种排序? 能否请您尽可能详细地说明如何执行此操作,以便我知道需要在哪里进行更改。

非常感谢你,大卫。

付费偷看设置
发送
4条回答
SC_Yao
1楼-- · 2020-09-05 08:00

我将使用子报表来执行此操作,而不是在主报表中使用各种报表。

1。 如果您有权访问仅包含国家/地区,州和城市数据的一个或多个表,则将基于该表创建主报告。 否则,您将基于该信息所在的表创建主报告,并仅在其中使用这三个字段。 无论哪种情况,请确保打开"选择不同的记录"。

2。 主报告将仅包含报告标题信息,然后是三组。

3。 不必在每个组标题中放置字段,而是在每个子报表中都包含一个子报表,该子报表包含与当前报表相同的表/查询。

4。 在"国家/地区"组标题中,在"国家/地区"数据上放置一个链接的子报表。 这将显示"国家/地区"摘要,并按需要进行排序。 如果未选择较低级别的分组,请在主报告中隐藏此部分。

5。 在"州"组标题中,放置一个链接到"国家和州"的子报表,并在其中对所需的方式进行排序。 如果选择了"仅国家/地区"或"城市"分组级别,请隐藏主报告的此部分。

6。 在"城市"组标题中,放置一个链接到"国家/地区","州"和"城市"的子报表,并对所需方式进行排序。 如果选择了"国家/地区"或"国家/州"组级别,请隐藏主报告的此部分。

7。 在主报告中,取消"详细信息"部分。 在组页脚节中,也请使用与抑制相应的组头节相同的抑制公式。

-Dell

Doze时光
2楼-- · 2020-09-05 07:38

嗨,David,

1。 不,只运行未抑制的子报表。

2。 您在"国家/地区"组标题或其他部分中有子报表吗? 您将在"国家/地区"组标题中使用它。

3。 请参阅我对问题2的回答。此外,报告标题仅应在报告的开头出现一次。 页面标题将出现在每个页面的顶部。

-Dell

SKY徐
3楼-- · 2020-09-05 07:59

感谢戴尔,这对我来说是非常详细的信息。 我今天尝试一下,但可能会有一些后续问题。

wang628962
4楼-- · 2020-09-05 07:56

大卫,您好,

让我们以国家,州和城市为例,假设您 有一个名为'{?Groupby}的参数,其值如下:

  • Country
  • 城市
  • Country& 状态

1。 您首先需要一个将报告分组的公式。 创建一个名为@Group的公式,如下所示:

选择{?Groupby}
 案例"国家/地区":{Country}
 案例"城市":{City}
 案例"州":{State}
 案例'Country&State':{Country} +">" + {State} 

2。 使用以下代码创建一个名为@firstSort的公式:

如果{?Groupby} ='Country&State'
 然后{Country}
 其他''

3。 根据@Group公式创建一个组,然后取消"组头"和"详细信息"部分。

4。 插入四个附加的组页脚1部分。 因此,您现在应该具有组页脚1a,1b,1c和1d。

5。 将国家/地区字段和销售字段的总和放在组页脚1a上。 转到"部分专家">"突出显示页脚1a">单击"抑制"旁边的公式按钮,然后使用以下代码:

 {?Groupby} <>"国家/地区" 

6。 将状态字段和销售字段的总和放在组页脚1b上。 转到"节专家">"突出显示组页脚1b">单击"抑制"旁边的公式按钮,然后使用以下代码:

 {?Groupby} <>'State'

7。 将城市字段和销售字段的总和放在组页脚1c上。 转到"部分专家">"突出显示组页脚1c">单击"抑制"旁边的公式按钮,然后使用以下代码:

 {?Groupby} <>'City'

8。 将国家,州和销售字段的总和放在组页脚1d上。 转到"部分专家">"突出显示页脚1d">单击"抑制"旁边的公式按钮,然后使用以下代码:

 {?Groupby} <>'Country&State'

9。 在@firstSort字段上插入摘要,并将其聚合设置为" Maximum"。

10。 转到"组排序专家">将" @firstSort的最大值"字段用作第一个摘要字段,然后按升序排序。

11。 添加Sum(Sales)作为第二个摘要,并按降序排序。

让我知道是否可行。

-Abhilash

一周热门 更多>