2017-11-07 1 views
0
proc sql; 
select * 
INTO: SAGIA 
From Sasoprsk.Cust_field_value, Sasoprsk.Cust_obj_7 
Where Cust_field_value.BUSINESS_OBJECT_RK eq Cust_obj_7.CUST_OBJ_7_ID; 
run; 

data Work.Temp = &SAGIA; 
run; 

내가 BUSINESS_OBJECT_RK 열 값이 CUST_OBJ_7_ID에 동일하지만 하나의 문자열 형식이며 하나의 숫자 유형 인 사용자 정의 데이터 집합을 만들려면 데이터 셋. 그래서 그 작동하지 그리고 위의 코드를 쓴 것처럼 선택한 선택한 필드의 작업 라이브러리에서 데이터 집합을 만들려는하지만 작동하지 않았다.사용자 지정을 만드는 방법 SAS는

proc print data=&SAGIA 잘 작동하지만 데이터 문이 나에게 구문 오류가 발생하여 뭔가 빠졌습니다.

data Work.Temp = &SAGIA._ALL_;

data Work.Temp = &SAGIA _null_; 매크로를 생성하고 데이터 세트에이를 저장하지 않고 직접

답변

0

왜 테이블을 생성하지 않는 작동하지 않았다 작동하지 않았다?

data abc; 
set abc; 
p = a*1; /* converts character column a into numeric column p */ 
/*or p=input(a,1.);*/ 
drop a; 
run; 

proc sort data=abc; 
by p; 
run; 

proc sort data=pqr; 
by p; 
run; 

data sagia; 
merge abc(in=table1) pqr(in=table2); 
by p; 
if table1 and table2; 
run; 

다른 아무것도 필요했다 알려줘 병합 사용 시저의 SQL

proc sql; 
create table sagia as 
select * 
From abc, pqr 
Where input(abc.a,1.) eq pqr.p; 
run; 

2)를 사용하여

data abc; 
input a $1. b; 
cards; 
1 20 
2 30 
3 40 
; 
run; 

data pqr; 
input p q; 
cards; 
1 1000 
3 7000 
; 
run; 

1).

+0

고마워요. 그것의 작동하지만 여전히 문자열 데이터를 int와 비교하는 동안 모두 0 = "0"과 같은 문제가 있습니다. – Azeem112

+0

@ Azeem112 문자를 숫자로 변환하거나 그 반대로 변환해야합니다. 나는 일반적으로 숫자에 비해 문자를 선호하는데,'num_value = input (char_value, best12.)'. where where 절에서 이것을 할 수 있습니다 – Longfish

+0

@Longfish보고하는 동안 SQL을 사용하는 대신 코어 기반을 사용할 수있는 방법이 있습니까? SQL 대신 linq 큐를 asp.net 사용합니까? – Azeem112

관련 문제