Archive for

2014 in review

The WordPress.com stats helper monkeys prepared a 2014 annual report for this blog.

Here’s an excerpt:

A San Francisco cable car holds 60 people. This blog was viewed about 790 times in 2014. If it were a cable car, it would take about 13 trips to carry that many people.

Click here to see the complete report.

Identify statements whose placement in the DATA step is critical.

Analyst, Advanced Analytics


  • Experience      3 to 7 yrs
  • Salary             As per Industry Standards
  • Location        Gurgaon
  • Key Skills      Unix SAS SQL Netezza VBA Microsoft BI Stack
  • Job Function  IT/Telecom – Software
  • Industry         Financial Services/Stockbroking
  • Specialization System Analyst/Tech Architect
  • Qualification: Any Graduate
Job Description

• Join the data revolution! MasterCard Advisors is helping to shape the future of data insights by leveraging billions of anonymised, aggregated transactions in a 10 petabyte date warehouse to help financial institutions, merchants, media, and governments manage their businesses more effectively.
• Be part of an Analytics Center of Excellence that is developing consumer insights that are reshaping how businesses make decisions.
• Use broad retail, capital markets, media, and/or payments industry experience and deep knowledge of the application of big data quantitative analytics to provide hands-on support for information product development and custom analytical project delivery that satisfies and retains a global client base
• Analyze large volumes of transaction and customer data to generate insights and actionable recommendations to drive business growth
• Synthesize analyses into clear, sound recommendations; takes responsibility for structuring and writing reports and client ready presentations from a work stream or project level.
• Build behavioral scorecards for target marketing and risk management solutions using econometric and statistical modeling techniques
• Create highly predictive models using segmentation and regression techniques to drive profits
• Apply knowledge of metrics, measurements, and benchmarking to complex and demanding solutions across multiple industry verticals
• Set the department standard for data driven insights and advanced analytics solutions using tools such as SAS, SQL and MS office suite
• Collect and synthesize feedback from clients, project delivery analysts, and sales teams for new solutions or product enhancements. Provide design specifications, functional and technical requirements for development of new products and solutions.
• Generates key hypotheses and independently structures work at the work stream or project level
• Reviews analytics end-products to ensure accuracy, quality and timeliness.
• Develops effective working relationships with global teams and business partners
• Proactively seeks new knowledge and structures project work to facilitate the capture of Intellectual Capital with minimal oversight
All About You
• 3-7 years of experience in business analysis, modeling and segmentation and data mining using large volumes of granular data to deliver analytical solutions
• Advanced degree in Economics/Statistics/Mathematics or B.A. in a technical or quantitative discipline with an emphasis on business applications. M.S./M.B.A. preferred
• Strong SAS, MS-Excel and PowerPoint skills.
• Platforms/Environments: Unix, SAS, SQL, Netezza, VBA, Microsoft BI Stack
• Experience in financial sector and payments industry preferred

Job Posted by
  • Company:MasterCard

MasterCard is a technology company and payments industry leader. For more than four decades, we have been a driving force at the heart of commerce, making the global economy safer, more efficient, more inclusive and more transparent for all. Consumers, merchants, business partners and governments in markets around the world have reaped the benefits of our innovative products and solutions which, simply put, are designed to make life easier.

Link : http://www.mastercard.com/corporate/careers/

Is it possible to use the MERGE statement without a BY statement ? Explain?

What does the difference between combining 2 datasets using multiple SET statement and MERGE statement?

SAS Developer/ Programmer

Experience required for the Job: 3 – 8 years

Job Location: Delhi/NCR

Dear Candidate,

We have an immediate opening for SAS Developer/ Programmer in our organization.
The candidate should have –
* BE / B.Tech/ BCA/MCA / BSC (IT),preferably.
* Minimum 3 years in SAS technology with SQL.
* Person should have experience in programming.
If you would like to explore this opportunity, please send your latest CV to “julies@vayamtech.com immediately.
* Current CTC:-
* Expected CTC:-
* Notice Period:-

Mail Us : julies@vayamtech.com



SAS Date, Time, and Datetime Functions


returns today’s date as a SAS date value.

DATEJUL( yyddd )

returns the SAS date value given the Julian date in yyddd or yyyyddd format. For example, DATE = DATEJUL(99001); assigns the SAS date value ’01JAN99’D to DATE, and DATE = DATEJUL(1999365); assigns the SAS date value ’31DEC1999’D to DATE.

DATEPART( datetime )

returns the date part of a SAS datetime value as a date value.


returns the current date and time of day as a SAS datetime value.

DAY( date )

returns the day of the month from a SAS date value.

DHMS( date, hour, minute, second )

returns a SAS datetime value for date, hour, minute, and second values.

HMS( hour, minute, second )

returns a SAS time value for hour, minute, and second values.

HOLIDAY( ‘holiday‘, year )


HOUR( datetime )

returns the hour from a SAS datetime or time value.

INTCINDEX( ‘date-interval‘, date )

INTCINDEX( ‘datetime-interval‘, datetime )

returns the index of the seasonal cycle given an interval and an appropriate SAS date, datetime, or time value. For example, the seasonal cycle for INTERVAL=’DAY’ is ‘WEEK’, soINTCINDEX(’DAY’,’01SEP78’D); returns 35 since September 1, 1978, is the sixth day of the th week of the year. For correct results, date intervals should be used with date values, and datetime intervals should be used with datetime values.

INTCK( ‘date-interval‘, date1, date2 )

INTCK( ‘datetime-interval‘, datetime1, datetime2 )

returns the number of boundaries of intervals of the given kind that lie between the two date or datetime values.

INTCYCLE( ‘interval‘ )

returns the interval of the seasonal cycle, given a date, time, or datetime interval. For example, INTCYCLE(‘MONTH’) returns ‘YEAR’ since the months January, February, …, December constitute a yearly cycle. INTCYCLE(‘DAY’) returns ‘WEEK’ since Sunday, Monday, …, Saturday is a weekly cycle.

INTFIT( date1, date2, ‘D‘ )

INTFIT( datetime1, datetime2, ‘DT‘ )

INTFIT( obs1, obs2, ‘OBS‘ )

returns an interval that fits exactly between two SAS date, datetime, or observation values, in the sense of the INTNX function uses SAMEDAY alignment. In the following example, result1 is the same as date1 and result2 is the same as date2.

   FitInterval = INTFIT( date1, date2, 'D' );
   result1 = INTNX( FitInterval, date1, 0, 'SAMEDAY');
   result2 = INTNX( FitInterval, date1, 1, 'SAMEDAY');

More than one interval can fit the preceding definition. For instance, two SAS date values that are seven days apart could be fit with either ‘DAY7’ or ‘WEEK’. The INTFIT algorithm chooses the more common interval, so ‘WEEK’ is the result when the dates are seven days apart. The INTFIT function can be used to detect the possible frequency of the time series or to analyze frequencies of other events in a time series, such as outliers or missing values.

INTFMT(‘interval‘ ,’size‘)

returns a recommended format, given a date, time, or datetime interval for displaying the time ID values associated with a time series of the given interval. The valid values of size (‘long,’ ‘l,’ ‘short,’ ‘s’) specify whether the returned format uses a two-digit or four-digit year to display the SAS date value.

INTGET( date1, date2, date3 )

INTGET( datetime1, datetime2, datetime3 )

returns an interval that fits three consecutive SAS date or datetime values. The INTGET function examines two intervals: the first interval between date1 and date2, and the second interval between date2 and date3. In order for an interval to be detected, either the two intervals must be the same or one interval must be an integer multiple of the other interval. That is, INTGET assumes that at least two of the dates are consecutive points in the time series, and that the other two dates are also consecutive or represent the points before and after missing observations. The INTGET algorithm assumes that large values are SAS datetime values, which are measured in seconds, and that smaller values are SAS date values, which are measured in days. The INTGET function can be used to detect the possible frequency of the time series or to analyze frequencies of other events in a time series, such as outliers or missing values.

INTINDEX( ‘date-interval‘, date )

INTINDEX( ‘datetime-interval‘, datetime )

returns the seasonal index, given a date, time, or datetime interval and an appropriate date, time, or datetime value. The seasonal index is a number that represents the position of the date, time, or datetime value in the seasonal cycle of the specified interval. For example, INTINDEX(’MONTH’,’01DEC2000’D); returns 12 because monthly data is yearly periodic and DECEMBER is the th month of the year. However, INTINDEX(’DAY’,’01DEC2000’D); returns 6 because daily data is weekly periodic and December 01, 2000, is a Friday, the sixth day of the week. To correctly identify the seasonal index, the interval specification should agree with the date, time, or datetime value. For example, INTINDEX(’DTMONTH’,’01DEC2000’D); andINTINDEX(’MONTH’,’01DEC2000:00:00:00’DT); do not return the expected value of 12. However, both INTINDEX(’MONTH’,’01DEC2000’D); andINTINDEX(’DTMONTH’,’01DEC2000:00:00:00’DT); return the expected value of 12.

INTNX( ‘date-interval‘, date, n <, ‘alignment’> )

INTNX( ‘datetime-interval‘, datetime, n <, ‘alignment’> )

returns the date or datetime value of the beginning of the interval that is n intervals from the interval that contains the given date or datetime value. The optional alignment argument specifies that the returned date is aligned to the beginning, middle, or end of the interval. Beginning is the default. In addition, you can specify SAME (or S) alignment. The SAME alignment bases the alignment of the calculated date or datetime value on the alignment of the input date or datetime value. As illustrated in the following example, the SAME alignment can be used to calculate the meaning of “same day next year” or “same day 2 weeks from now.”

   nextYear = INTNX( 'YEAR', '15Apr2007'D, 1, 'S' );
   TwoWeeks = INTNX( 'WEEK', '15Apr2007'D, 2, 'S' );

The preceding example returns ’15Apr2008’D for nextYear and ’29Apr2007’D for TwoWeeks. For all values of alignment, the number of intervals n between the input date and the resulting date agrees with the input value.

   date2 = INTNX( interval, date1, n1, align );
   n2 = INTCK( interval, date1, date2 );

The result is always that n2 = n1.

INTSEAS( ‘interval‘ )

returns the length of the seasonal cycle, given a date, time, or datetime interval. The length of a seasonal cycle is the number of intervals in a seasonal cycle. For example, when the interval for a time series is described as monthly, many procedures use the option INTERVAL=MONTH to indicate that each observation in the data then corresponds to a particular month. Monthly data are considered to be periodic for a one-year seasonal cycle. There are 12 months in one year, so the number of intervals (months) in a seasonal cycle (year) is 12. For quarterly data, there are 4 quarters in one year, so the number of intervals in a seasonal cycle is 4. The periodicity is not always one year. For example, INTERVAL=DAY is considered to have a seasonal cycle of one week, and because there are 7 days in a week, the number of intervals in a seasonal cycle is 7.

INTSHIFT( ‘interval‘ )

returns the shift interval that applies to the shift index if a subperiod is specified. For example, YEAR intervals are shifted by MONTH, so INTSHIFT(‘YEAR’) returns ‘MONTH’.

INTTEST( ‘interval‘ )

returns 1 if the interval name is a valid interval, 0 otherwise. For example, VALID = INTTEST(’MONTH’); should set VALID to 1, while VALID = INTTEST(’NOTANINTERVAL’); should set VALID to 0. The INTTEST function can be useful in verifying which values of multiplier n and the shift index s are valid in constructing an interval name.

JULDATE( date )

returns the Julian date from a SAS date value. The format of the Julian date is either yyddd or yyyyddd depending on the value of the system option YEARCUTOFF=. For example, using the default system option values, JULDATE( ’31DEC1999’D ); returns 99365, while JULDATE( ’31DEC1899’D ); returns 1899365.

MDY( month, day, year )

returns a SAS date value for month, day, and year values.

MINUTE( datetime )

returns the minute from a SAS time or datetime value.

MONTH( date )

returns the numerical value for the month of the year from a SAS date value. For example, MONTH=MONTH(’01JAN2000’D); returns , the numerical value for January.

NWKDOM( n, weekday, month, year )

returns a SAS date value for the th weekday of the month and year specified. For example, Thanksgiving is always the fourth () Thursday () in November (). ThusTHANKS2000 = NWKDOM( 4, 5, 11, 2000); returns the SAS date value for Thanksgiving in the year 2000. The last weekday of a month can be specified using . Memorial Day in the United States is the last () Monday () in May (), and so MEMORIAL2002 = NWKDOM( 5, 2, 5, 2002); returns the SAS date value for Memorial Day in 2002. Because always specifies the last occurrence of the month and most months have only 4 instances of each day, the result for is often the same as the result for . NWKDOM is useful for calculating the SAS date values of holidays that are defined in this manner.

QTR( date )

returns the quarter of the year from a SAS date value.

SECOND( date )

returns the second from a SAS time or datetime value.


returns the current time of day.

TIMEPART( datetime )

returns the time part of a SAS datetime value.


returns the current date as a SAS date value. (TODAY is another name for the DATE function.)

WEEK( date <, ‘descriptor’> )

returns the week of year from a SAS date value. The algorithm used to calculate the week depends on the descriptor.

If the descriptor is ‘U,’ weeks start on Sunday and the range is to . If weeks and exist, they are only partial weeks. Week 52 can be a partial week.

If the descriptor is ‘V’, the result is equivalent to the ISO 8601 week of year definition. The range is to . Week is a leap week. The first week of the year, Week , and the last week of the year, Week or , can include days in another Gregorian calendar year.

If the descriptor is ‘W’, weeks start on Monday and the range is to . If weeks and exist, they are only partial weeks. Week 52 can be a partial week.

WEEKDAY( date )

returns the day of the week from a SAS date value. For example WEEKDAY=WEEKDAY(’17OCT1991’D); returns , the numerical value for Thursday.

YEAR( date )

returns the year from a SAS date value.

YYQ( year, quarter )

returns a SAS date value for year and quarter values.

SAS auto round figure if more that 18 digit

We notice SAS base will round the figure is more than 18 digit.

Is there any setting in server/client machine if we want to programmer to show exact value?

Below is the sample code:

data test;

format b best32.;

format d best32.;

format f best32.;

x = ‘0010000000130000123’;

y = ‘001000000013000012’;

z = ‘00100000001300001’;

len1 = length(x);

len2 = length(y);

len3 = length(z);

b = input(x, best32.);

d = input(y, best32.);

f = input(z, best32.);


Another Program :

data test68;
format b best32.;
x = ‘0010000000130000123’;
len1 = length(x);
b = input(x, best32.);



Digital Analytics

Axis Bank – Mumbai

Job description

The person would lead the bank wide initiative on setting up a digital analytics vertical and driving the key agenda ahead. The analytics vertical would include bank website, internet banking portal and mobile banking app for one of the largest pvt sector banks.  

The candidate will be responsible for the following in his/her job role

  • Conceptualize, experiment and implement machine learning algorithms to predict the ‘next best action’ for the customer
  • Analyze customer experience, transactions and behavior based on internet and mobile usage with statistical techniques like decision trees/K-means clustering
  • Plan, build and improve the data infrastructure platform for web & mobile analytics
  • Work with the electronic banking team to identify business, technical & reporting requirements
  • Build analytical driven sales & service strategies across these digital channels
  • Establish monthly reviews with senior management on digital channel performance, growth and sales/service conversions
Desired Skills and Experience
  • Hands on experience with web & mobile analytics applications (e.g. Google Analytics, Webtrends, Site Catalyst etc.)
  • At least 4-6 years of e-commerce or other relevant experience in the digital analytics space
  • Banking domain knowledge and expertise including profitability of banking products is a plus
  • Good knowledge of ‘R’ & SAS
  • Experience working with databases is a plus (SQL)
  • Strong data handling, interpretive and problem solving skills with the ability to process large volume of transaction level data and efficiently derive actionable results.
  • Having a flair for programming algorithms in analytics space
  • Having a ‘results oriented’ attitude with ‘go get it done’ skill
  • Good project management skills while working with both internal and external partners

Should have a high degree of motivation with a continuous thirst for learning

  • Establishing and driving the digital analytics agenda for one of the largest banks in India
  • Regular synthesis, reporting, analysis and insight driven approach for the bank’s digital channels

Analytically driven sales and services through internet and mobile banking 

Advanced degree (master’s or above) in a quantitative subject such as Engineering, Mathematics, Operations Research, Statistics, Economics or Finance with overall 4-6 Years of Experience.  

We are looking for candidates from Leading Dot Com/ E Commerce companies

SAS Programmer (1-5 yrs)

CareerNet (www.careernet.co.in) is a leading provider of Talent Acquisition and Management solutions to the Technology, Knowledge Services, Banking & Financial Services, Hospitality & Healthcare sectors in India.
In further to this, we would like to discuss an opening with our clients in Bangalore.

Job Description:
Client: Leading US BANKING Client
Position : SAS Programmer
Exp :1 – 5 yrs
Location: Bangalore
Educational qualifications:
Btech or any Masters

Interested candidates can share their cvs
Sona Jose


link :http://www.hirist.com/registration/login.php?redirectto=http://www.hirist.com/registration/applyform.php?jobid=35752&ref=rl&inline=false



%d bloggers like this: