【发布时间】:2018-02-20 02:57:20
【问题描述】:
美好的一天
一直试图在整个互联网上寻找答案,但不得不问这个问题,因为它似乎不是标准的数据类型问题。
我收到错误: 错误:使用等号 (=) 的表达式具有不同数据类型的组件。
这是脚本:
Create Table Work.Gross_Premiums_&Report_Date as
Select Distinct AIC.POLICY_NUMBER,
IFC(AIC.SOURCE_DATA in ('ID','PL','FSP'),(Substr(AIC.FORMATTED_ACCOUNT_NUMBER,3,13)||"*"||Substr(AIC.FORMATTED_ACCOUNT_NUMBER,14,3)),FORMATTED_ACCOUNT_NUMBER) as FORMATTED_POLICY_NUMBER,
AIC.SOURCE_DATA,
SUM(ID.Prem) AS ID_GROSS_PREMIUM,
SUM(AFS.GROSS_PREMIUM) AS AFS_GROSS_PREMIUM,
SUM(PL.PremInclVat) as PL_GROSS_PREMIUM,
SUM(FSP.Premium_charged) as FSP_GROSS_PREMIUM,
SUM(IJ.GROSS_PREMIUM) AS IJ_GROSS_PREMIUM,
SUM(SUM(ID.Prem),SUM(AFS.GROSS_PREMIUM),SUM(PL.PremInclVat),SUM(FSP.Premium_charged),SUM(IJ.GROSS_PREMIUM)) as WIMI_INCOME
From WORK.AIC_&Report_Date AIC
Left Join IDIRECT.TRNWRITTEN ID On (AIC.POLICY_NUMBER = (ID.ClientID || ID.FileNo))
Left Join WORK.AFS_&Report_Date AFS On (AIC.FORMATTED_ACCOUNT_NUMBER = AFS.ACCOUNT_NUMBER)
Left Join PL.TRNWRITTENPREM PL On (AIC.POLICY_NUMBER = Put(PL.ClientID,z8.)||Put(PL.FileNo,z3.))
Left Join FSP.POLICY_TRANSACTIONS FSP On (AIC.FORMATTED_ACCOUNT_NUMBER = Put(FSP.POLICY_NUMBER,z16.) )
Left Join WORK.INSUREJ IJ on (AIC.POLICY_NUMBER = IJ.POLICY_NUMBER)
Where (AIC.SOURCE_DATA = 'FSP'
and InPut(Put(Input('Transaction date'n,ANYDTDTM19.),DATETIME21.2),Date9.) Between INTNX('MONTH',"&Report_Date."d,0,'BEGIN')
and "&Report_Date."d and 'Paid / unpaid'n = 1)
OR AIC.SOURCE_DATA <> 'FSP'
Group By AIC.POLICY_NUMBER, AIC.SOURCE_DATA, (CALCULATED FORMATTED_POLICY_NUMBER);
如果有人可以帮助确定问题,我们将不胜感激。
最好的问候, 尤金
【问题讨论】:
-
我建议您简化查询,直到您拥有重现错误所需的最少代码量,然后更新您的问题。 90% 的代码可能与问题无关,我怀疑很多人会喜欢深入研究它。这样做可能也会帮助您解决自己的问题 =)
标签: database error-handling sas