Crystal交叉表,删除零值的列

2020-09-24 01:27发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 专家 我正在使用一个SQL...

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

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


专家

我正在使用一个SQL视图,从该视图中我将几个数据库的财务数据提取到Crystal Income Statement中。 专栏和其他公司。

我正在为收入,支出等使用多个交叉表。 并由他们合计。 该报告需要导出到Excel中-为此,我需要将列对齐。 我的问题是,当没有为该公司记录的收入时,该列不会显示,并且要导出到Excel,即使它为零,也需要显示。

根据屏幕截图,我没有在"交叉表"上选择"抑制"。

以下是一些屏幕截图:

(83.9 kB)
6条回答
Violet凡
2020-09-24 01:36

嗨,玛莉,

问题在于您有一个选择公式,该选择公式可以返回所选日期范围之间的数据。

由于ST_Canada在该日期范围内没有任何数据,因此报告不会返回该数据。

假设您的数据库没有列出所有日期的"日历"表,则可以在"视图"中自行构建一个。 修改后的SQL看起来像这样:

 DECLARE @开始日期
 DECLARE @结束日期
 SET @开始日期='2018-01-01'
 SET @enddate ='2018-12-31'
 ;与Calndr AS
 (
     选择@startdate AS DateValue
     全联盟
     SELECT DATEADD(DAY,1,DateValue)
     从Calndr
     在哪里DateValue  T1.Credit)和T3.OcrCode ='SRVC'
 GROUP BY T0.GroupMask,T0.FatherNum,T0.AcctName,T0.FormatCode,T3.OcrCode,T3.OcrName,T4.OcrCode,T4.OcrName,T2.RefDate,T0.Segment_1,T0.Segment_2,T0.Segment_3,  T5。[U_Master],T5。[U_Inguran],T5。[U_Master_Name]
 全联盟
 选择
 " ST_Canada" AS公司,
 T5。[U_Master],
 T5。[U_Master_Name],
 T5。[U_ST_Canada],
 T0.FatherNum,
 T0.FormatCode,
 T0.AcctName,
 SUM(T1.SYSCred-T1.SYSDeb)AS余额,
 T3.OcrCode,T3.OcrName,
 T4.OcrCode AS Expr1,
 T4.OcrName AS Expr2,
 T2.RefDate,
 T0.GroupMask,
 T0.Segment_1,
 T0.Segment_2,
 T0.Segment_3
 从
 ST_Canada.dbo.OACT AS T0内联接
 ST_Canada.dbo.JDT1 AS T1在T0.AcctCode = T1.Account INNER JOIN
 ST_Canada.dbo.OJDT AS T2上T1.TransId = T2.TransId左外联接
 ST_Canada.dbo.OOCR AS T3在T1.ProfitCode = T3.OcrCode左外部联接
 ST_Canada.dbo.OOCR AS T4在T1.OcrCode2 = T4.OcrCode左外部联接
 ST_Canada.dbo。[@ A_GL_MAPPING] T5打开T5。[U_ST_Canada] = T0.FatherNum
 在(T0.GroupMask IN(8,7,6,6,5))和(T1.Debit <> T1.Credit)中
 GROUP BY T0.GroupMask,T0.FatherNum,T0.AcctName,T0.FormatCode,T3.OcrCode,T3.OcrName,T4.OcrCode,T4.OcrName,T2.RefDate,T0.Segment_1,T0.Segment_2,T0.Segment_3,  T5。[U_Master],T5。[U_ST_Canada],T5。[U_Master_Name]
 )
 选择
 Compny.Company,
 DataT。[U_Master],
 DataT。[U_Master_Name],
 DataT。[U_Inguran],
 DataT.FatherNum,
 DataT.FormatCode,
 DataT.AcctName,
 DataT.Balance,
 DataT.OcrCode,
 DataT.OcrName,
 DataT.OcrCode AS Expr1,
 DataT.OcrName AS Expr2,
 Compny.DateValue RefDate,
 DataT.GroupMask,
 DataT.Segment_1,
 DataT.Segment_2,
 DataT.Segment_3
 从
 康尼
 左联接DataT ON Compny.Company = DataT.Company AND Compny.DateValue = DataT.RefDate
 OPTION(MAXRECURSION 0)

请注意,必须将StartDate和EndDate变量保留到今年。

-阿比拉什

一周热门 更多>