点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家
我正在使用一个SQL视图,从该视图中我将几个数据库的财务数据提取到Crystal Income Statement中。 专栏和其他公司。
我正在为收入,支出等使用多个交叉表。 并由他们合计。 该报告需要导出到Excel中-为此,我需要将列对齐。 我的问题是,当没有为该公司记录的收入时,该列不会显示,并且要导出到Excel,即使它为零,也需要显示。
根据屏幕截图,我没有在"交叉表"上选择"抑制"。
以下是一些屏幕截图:
(83.9 kB)
玛莉,你好
不幸的是,Crystal Reports无法显示数据库中不可用的内容。
公司B未出现在第一个交叉表中,因为该数据库中没有该公司的条目。
要解决此问题,您需要修改视图的SQL,以使其始终带入您需要在报表上显示的所有公司。
执行此操作的一种方法是创建一个列出公司的"查找"表。 然后,您可以从此查询表"左加入"到"收入"表。 这应该列出所有公司,无论其在何处都没有收入。
-阿比拉什
嗨,玛莉,
问题在于您有一个选择公式,该选择公式可以返回所选日期范围之间的数据。
由于ST_Canada在该日期范围内没有任何数据,因此报告不会返回该数据。
假设您的数据库没有列出所有日期的"日历"表,则可以在"视图"中自行构建一个。 修改后的SQL看起来像这样:
请注意,必须将StartDate和EndDate变量保留到今年。
-阿比拉什
你好玛莉,
如果在您的sql视图中设置的数据没有" Comp B"的收入,则交叉表将不知道有" Comp B"的数据,并且也没有" Comp B"列。 Crystal Reports中的交叉表仅获取它从sql视图返回的内容,然后透视数据。
您可以尝试通过在SQL视图中添加" Comp B"的收入为" 0"的行来"愚弄"交叉表。 这就像从您的sql视图中创建一个占位符。 在合并来自多家公司的财务数字时,如果需要,可以为所有公司添加额外的行,并为所有公司添加" 0"收入。
干杯
Jimmy
嗨Marli,
很抱歉,我一开始错过了"选择"。
查询是否在数据集中添加了另外两个" 0"收入行? 如果成功了,那可能是在这两行中硬编码的某些值与参数不匹配("排序"值或日期格式); 因此这些行仍然被过滤掉了。
我可以问一下"行"部分" @U_Master for Revenue"将为报表传递什么值?
而且,我只是想根据屏幕快照对日期字段中的其他行使用哪种格式进行故障排除? 如果您输入" 2018/02/01"而不是" 01/02/2018 00:00:00",对您有帮助吗?
谢谢
Jimmy
Abhilash&Jimmy,
你们真棒!
非常感谢您的帮助-我知道要像我一样支持SQL的相对新手并不容易。
我用以下方法解决了这个问题,因为它同时使用了您的建议,但可能会过时了,但是它正在工作.....
嗨,玛莉,
很高兴知道它对您有效。
干杯
吉米
一周热门 更多>