It requires some arguments(variables or data values) and do some action and generate some result. These result will be stored in another variable. There are 3 types of functions. They are
a) Int function: Using int function, we can get integer values from the variables. Syntax: Int(variable/data value) b) Round function: Using round function we can round up the value nearest integers or nearest decimal places. c) Absolute(abs) function: This convert all data values into positive format. d) Mod function: It returns reminder. Ex: Data demo; Input pid age weight; Cards; 101 24 78.55 102 23 56.46 103 34 -67.33 104 35 76.56 105 23 56.44 106 23 67.74; Data demo 1; Set demo; Wkg = int (weight); Wrkg = round(weight); Wrdkg = round(weight, .1); Wabs = abs(weight); Run; Proc print data = demo1; Run; Ex: Data one; X = mod(34,3); Run; Proc print; Run;
Desired to gain proficiency on SAS? Explore the blog post on SAS Training to become a pro in SAS.
If we send wrong number of argument for functions. In this case we will get one type of execution error. This execution error is called semantic error. Note: If we want to create a subset of data based on new variable creations. In this case, we will use if statement instead of where statement. Ex: Data demo2; Set demo; i= mod(-n-, 2); if i=1; run; proc print data =demo2; run; Ex: Data demo2; Set demo; i= mod(-n-, 2); if i=1; run; proc print data =demo2; where I =0; run; Note: We can create subset of data using if and where statement. If we use the if statement, pdv checks data error in all observation and next check the condition. This is very lengthy process. If we use the where statement, pdv 1st of all check the condition after that brings into pdv and checks the data error.
It can be used to do row wise sum analysis or row wise sums. Note: Using procedure block we can do row wise and column wise analysis. Using data set block we can do row wise sum analysis only.
If we do any arithmetic operations using with arithmetic operator then if we get any missing value in raw data, the result is also missing. This is called as propagation error, to overcome this problem use with functions. Ex: Data emp; Input eid jsale fsale msale; Cards; 100 200 300 230 101 230 . 340 102 45 0 500 230 ; Data emp1; Set emp; Tot sale = sum (jsale , fsale, msale); Avgsal = mean (jsale , fsale, msale); Max sal = max(jsale , fsale, msale); Min sal = min (jsale , fsale, msale); Run; Proc print data =emp1; Run;
These we can use only in data set block. Ex: Data set input Gid $ drug $ week sub; Cards; G100 col5mg 3 120 G200 col5mg 3 130 G300 col5mg 3 140 G100 col10mg 6 120 ; Data medi1; Set trt; Keep Gid drug sub; Run; Data medi2; Set trt; Drop week; Run; Proc print data =medi1; Run; If we want to change the Gid, then we write after drop statement, rename gid = Groupid; Data medi2;set trt; Drop week; Rename gid =groupid; Run; Proc print data =medi2; Run;
-Numeric- -character- _Numeric_ _Character_ -Numeric-: Hyphen numeric hyphen, it indicates part of numerical based on range. -Character-: Hyphen character hyphen, it indicates part of character variables based on range. _Numeric_: Underscore numeric underscore indicate all numeric variable _Character_: Underscore character underscore indicate all character variable /* To read all numeric variables*/ Ex: Data medi 3; Set trt; Keep _ numeric_; Run; /* To read all character variables*/ Ex: Data medi 4; Set trt; Keep _ character_; Run; /* To read part of the numeric variables*/ Ex: Data one; Input name $ age area $ height weight gender $; Cards; Kiran 56 hyd 5.6 67 male Kumar 34 vij 4.5 56 male ; Data two; set one; Keep area – numeric – gender; Run; Proc print data = two; Run;
You liked the article?
Like : 0
Vote for difficulty
Current difficulty (Avg): Medium
TekSlate is the best online training provider in delivering world-class IT skills to individuals and corporates from all parts of the globe. We are proven experts in accumulating every need of an IT skills upgrade aspirant and have delivered excellent services. We aim to bring you all the essentials to learn and master new technologies in the market with our articles, blogs, and videos. Build your career success with us, enhancing most in-demand skills in the market.
Get stories of change makers and innovators from the startup ecosystem in your inbox