SAS® USER PROFILE
Names: Herman Lo
Location: Toronto, Ontario
Company: A Major Canadian
Bank
SAS®
History: Coming from an image-processing
background, I was familiar with the
complexity of array processing using
conventional software technology
like C++. SAS opened my eyes to large-scale
data processing and analysis. When
I first started learning SAS, I had
a “light-bulb moment” when I realized that the SAS DATA step
is really just an implied FOR loop, a language which I was comfortable
working with. From that point on, I became very interested in
SAS, and dived into learning its broad capabilities in dealing
with all kinds of data.
My first project that I worked on was to recreate an existing
quantitative stock ranking system in SAS. The old system was written
in APL, an old programming language that is archaic: Its code
looks more like a collection of mathematical formulas. My first
task was to decipher a piece of APL code and translate that to
SAS. During the project, I learned from my colleagues that the
SAS DATA step, PROC SQL and the macro language are indispensable
building blocks in SAS. I also found that the help documentation,
the online support resources and the user forums are also very
useful for SAS development.
My next task was to systematically reconcile the old and new
systems' data and outputs. Using a combination of PROC COMPARE
and MERGE functions, we were able to build an automatic reconciliation
utility for diagnosing the differences between the two systems.
The EXCEL libname engine was also critical for formatting the
results in a desired template in Excel, which I learned from a
TASS (Toronto Area SAS Society) meeting!
My most challenging and rewarding task
in the project was to create the multiprocessing structure for
the system. The SAS SUGI papers on the MP Connect module and the
MP Connect user guide were key resources for the successful completion
of the task. With MP, the system became 60 percent more efficient!
It was a testimonial to the true power of SAS when it is harnessed
diligently. We are proud to say that the new system is now successfully
in production and will be completely replacing the old system.
About my hobbies
and in my spare time: I’m certainly not programming!
I like participating in sports: basketball, swimming and table
tennis. Although I am a complete beginner, I really like skiing.
While I lived in Vancouver for 10 years, I sadly never really
took advantage of Whistler until very recently! Music has always
been a passion of mine, and I find
playing it especially fun. I've been playing violin since I
was 6, but now it's demoralizing to realize how much my skills
have deteriorated without practicing, much like programming!
One thing every SAS
programmer should know: The LOG is your best friend in
SAS! But remember to turn on the debug options before running
the code. Check out the following paper: http://www2.sas.com/proceedings/sugi26/p054-26.pdf |