我有一个水晶报表,它基于两个领域汇总的组和子组
- 公司名称 通过声明一组
- 帐户类型
现在Crystal报表的工作,它确实组按“公司名称”,但不按“帐户类型”分组。我有两种类型的帐户,“常规和高级”。一家公司既有我们的帐户类型,也有常规性而非高级性。你认为是什么问题。
我是新来的水晶报告。我熟悉SQL虽然。我看到的是
- 没有用于任何列中没有聚合函数的差异 - 在SQL聚集场需要得到有意义的结果
- 有报告10场,但GROUP BY仅用于在两个领域 - 在SQL,你必须通过所有领域的群体,如果有两个以上领域
- 田野集团在中间和结束 - 再次在SQL GROUPBY字段的顺序是非常重要
在这种情况下,我先按公司名称分组,然后按帐户分组tatus。任何见解都会有所帮助。
请注意,我从Crystal Report生成了等效的SQL语句。除了不存在group by语句之外,该查询是可以的。我自己添加了这些和聚合列,并且获得与我在Crystal中获得的结果相同的结果(但SQL报告更准确,因为它通过两个字段而不仅仅一个进行分组)。
编辑:示例日期。每家公司可以有多个相同类型的账户。我想汇总“公司名称”和“AccountType”,以便数据列在下面。
+----+--------------+-------------+------+
| ID | Company Name | AccountType | Sale |
+----+--------------+-------------+------+
| 1 | ABC | I | 500 |
| 2 | ABC | I | 600 |
| 3 | ABC | O | 1000 |
| 4 | ABC | O | 2000 |
| 5 | ABC | O | 3000 |
| 6 | XYZ | O | 2500 |
| 7 | LMN | O | 3400 |
+----+--------------+-------------+------+
输出I从上表中要的是
+--------------+-------------+------+
| Company Name | AccountType | Sale |
+--------------+-------------+------+
| ABC | I | 1100 |
| ABC | O | 6000 |
| XYZ | O | 2500 |
| LMN | O | 3400 |
+--------------+-------------+------+
是的,一家公司可以同时拥有两种类型的帐户,尽管这种情况很罕见。如果我按“账户类型”进行分组,则报告将完全不同。 –
对不起,我可能一直不清楚这一点:离开公司分组,但删除AccountType分组。如果公司有多个帐户类型,并且希望它们在报告中以一致的顺序显示,则可以按公司内的帐户类型进行订购,但这可能不是必需的。 –
我已编辑该问题。我无法正确格式化ASCII表格。如果您点击编辑按钮,您将正确到达表格。我提供了原始(模型)和所需的输出。注意我可以在SQL中完成,但我不熟悉Crystla中的工作方式。谢谢。 –