Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


In the SAS Data step what is the difference between the
subsetting done by Where and subsetting done by If?

Answers were Sorted based on User's Feedback



In the SAS Data step what is the difference between the subsetting done by Where and subsetting don..

Answer / k

There is difference between how SAS handles IF and WHERE
conditions. The 'WHERE' condition is applied on data before
they enter Program Data Vector (PDV) and in case of 'IF' it
is applied after data comes out from PDV. Now, if you have
created a variable in the same data step using
Where : the created variable will not be applied condition.
IF: the created variable will be subjected to the condition
applied.

Is This Answer Correct ?    19 Yes 0 No

In the SAS Data step what is the difference between the subsetting done by Where and subsetting don..

Answer / gangadhar

Make sure you apply the following rules when determining
which approach to take when subsetting your data set using
the DATA step. If your subset condition does not meet the
requirements below, then the WHERE and IF statements should
produce identical results. For cases such as this, use the
WHERE statement since it is more efficient. Note that
having both WHERE and IF statements within the same DATA
step has a cumulative effect.
• Can use WHERE statement when only specifying data
set variables
• Use IF statement when specifying automatic
variables or new variables created within DATA step
• Use IF statement when specifying FIRST.BY or LAST.
BY variables
• Use IF statement when specifying data set options
such as OBS = , POINT = or FIRSTOBS =
• In general, use IF statement when merging data sets
to apply subset condition after merging data set
• Use WHERE statement when specifying indexes

Is This Answer Correct ?    6 Yes 0 No

In the SAS Data step what is the difference between the subsetting done by Where and subsetting don..

Answer / s.s.suresh

WHERE Statement can be only be used with variables in the
existing dataset where as IF statement can also be used raw
data as well

Is This Answer Correct ?    7 Yes 1 No

In the SAS Data step what is the difference between the subsetting done by Where and subsetting don..

Answer / chowdary vamsi

Where:first chick the condensation ofter checking the errors
if:first chick the errors after chick the condensation
where :take more processing time compare if
if take less processing time compare to where.

Is This Answer Correct ?    0 Yes 0 No

In the SAS Data step what is the difference between the subsetting done by Where and subsetting don..

Answer / govardhan bandari

IF-Works With New Variable
Where- Cant work With New Variables

IF-Works After PDV
Where-Works Before PDV

IF-in backend if process all the variable and it gives output based on condition
BUT
Where-process only conditionally met obseravtions

IF-Cant work with proceduers(except proc report with compute statement)
WHERE- work with proceduers

Is This Answer Correct ?    0 Yes 0 No

In the SAS Data step what is the difference between the subsetting done by Where and subsetting don..

Answer / ramesh

Two Where coditions can be used at a time to one variable
Two IF conditions can not be used at a time to one variable

In Where condition either <= OR =< can be used
In If condition only <= can be used.

'where' is Data set options and statement
'If' is only Statement

Is This Answer Correct ?    0 Yes 10 No

Post New Answer

More SAS Interview Questions

What are the applications primarily used by business analyst? : Sas-bi

0 Answers  


Hello, I have PROC SQLs results group by 3 fields and I use SUM and COUNT functions in SQL. The problem is when I try to display my result with PROC TABULATE. I am getting very big numbers. I believe I make a mistake some where in Tabulate. Here is my Proc Tabulate. PROC TABULATE DATA=OUT04_05 FORMAT=12.; CLASS YR CENTRE VISA / PRELOADFMT EXCLUSIVE; VAR NEWUSER FRAUD TRANSFER AUTUSER REISSUE; TABLE CENTRE ALL, (YR ALL)*VISA, (NEWUSER*F=COMMA12. AUTUSER*F=COMMA12. FRAUD*F=COMMA12. TRANSFER*F=COMMA12. REISSUE*F=COMMA12.) / MISSTEXT={LABEL='0'} PRINTMISS RTS=20; FORMAT VISA VISAFMT.; KEYLABEL SUM = ' ' ALL = 'TOTAL'; LABEL YR = 'DATE YEAR' NEWUSER = 'TOTAL NEW ACCT' TRANSFER = 'TOTAL TRANSFER' FRAUD = 'TOTAL FRAUD TRANSFER' AUTUSER = 'TOTAL AUTH USERS' REISSUE = 'TOTAL REISSUE'; When I code it like : NEWUSER*N*F=COMMA12. AUTUSER*N*F=COMMA12. I get same amount numbers but to find a NEWUSER I use COUNT(*) and to find AUTUSER I use SUM(xxxx) function so both result shouldn’t be the same my problem is in this point. Could you tell me where the problem in code is. How can I display my result? TX.

0 Answers  


what is sas data set?

0 Answers  


What is proc sql pass through facility?

4 Answers   L&T,


Tell e how how dealt with..

0 Answers   Wipro,


What is the difference between SAS functions and procedures?

0 Answers  


in data set200 observation how to take 110,150,170 using sql procedure?

7 Answers   Accenture,


/* This is example of age caluculate wihtout to display perfect days and years in output window */ data age; retain dob "12jun2003"d now "24may2011"d; age1=now-dob; age=(now-dob)/365.25; years=int(age); days1=round((age-years)*365.25); months=month(now)-1; if days1 gt 30 and months in(12,10,8,6,4,2)then do; month1=days1/30.4375; month=int(days1/30.4375); if day(now)=1 then days=1; else days=round((month1-month)*30.4375)+1; drop days1 month1 month; end; else if days1 gt 30 and months in (1,3,5,7,9,11)then do; month1=days1/30.4375; month=int(days1/30.4375); if day(now)=1 then days=1; else days=round((month1-month) *30.4375); drop days1 month1 month; end; drop age age1; proc print data=age; format dob now date.; run;

1 Answers   Emerio,


Hi, I need to create a SAS Map of USA using SAS Graphs(Proc Gmap).The data i have dosent contain any co-ordinates of USA cities or counties or states, and the zip codes are diffrent in the data i have from the zip code in the Maps.US dataset in the Maps Library for SAS MAPS. the data i have is a sales report. i have to generate the maps according to the states,cities aligned in the sales data, HELP Appriciated

1 Answers  


There are 200 observations in a dataset, i want to pull out the observation no's 100, 150,180,190 by using Proc SQL? How you can get it?

5 Answers  


What is the difference between one to one merge and match merge? Give an example.

0 Answers  


How many tiers in sas architecture?

2 Answers  


Categories