В моем исходном коде, я хочу, чтобы объединить несколько баз данных:условного объединения SAS PROC SQL
%let theft=1;
proc sql;
create table NewTable as
Select *
From
dtm_sitecom.FactSitecAllCriteria SITEC
left join dtm_sitecom.FactClaimLastVersion FactClaimLastVersion
on FactClaimLastVersion.ClaimId = Sitec.ClaimId
/*Condition 1 here*/
/*If &Theft=1 then*/
left join dtm_sitecom.DimClaimState DimClaimState
on DimClaimState.ClaimStateKey = FactClaimLastVersion.ClaimStateKey
/*Condition 2 here*/
/*else if &Theft = 0 then*/
left JOIN dtm_sitecom.DimGeoRisk dgr
ON dgr.GeoRiskKey = SITEC.GeoRiskKey;
quit;
На обновленной версии, я хочу, чтобы добавить некоторые условия (/ Условие 1/и/Состояние 2/в коде), например, если значение переменной Theft=1
затем выполняет слияние с талбе dtm_sitecom.DimClaimState
, в противном случае слияние с другой таблицей. Я пробовал код, как если бы не был знак комментария вокруг if
, но он не работал из-за неправильного синтаксиса. Есть ли синтаксис SAS, позволяющий мне это сделать?
Дайте нам пример того, что вы пытаетесь сделать. Условие 'on' * является * условием, поэтому какое условие вы пытаетесь добавить, что там не будет работать? – Joe
@Joe: Я отредактировал вопрос, извините, если это было непонятно. – Metariat
Если 'theft = 0' могли ли вы иметь успешные совпадения в' DimClaimState'? Или они будут только соответствовать, когда 'theft = 1'? – Joe