Express intro to evExpress package

>100 Views

January 27, 26

スライド概要

profile-image

SAS言語を中心として,解析業務担当者・プログラマなのコミュニティを活性化したいです

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

Disclaimer Disclaimer I'm not a native speaker but I'm doing my best. If I say something that may be interpreted as either negative or positive (e.g. a joke vs. an offense) I always, always, mean the positive.

2.

Express introduction to evExpress sas package 大阪 SAS 勉強会 - 第 12 回 - talk 15 Bartosz Jabłoński (バートシュ ヤブウォンスキー)   yabwon  gmail . com linkedin.com/in/yabwon 2026 年 1 月 28 日 Osaka, Japan

3.

Kim jest Bart? Bart Jabłoński,PhD yabwon (2022) Warsaw University of Technology SASing since 2009 Experis Manpower Group www.experis.com Takeda Pharmaceutical www.takeda.com Polish SAS Users Group www.polsug.com

4.

Pytanie Problem Statement SAS expressions are provided in the form of text strings, say: "A and B or C", "A * B + C", or "42 = A + B + C", where A, B , and C are variables from some data set HAVE. Evaluate those expressions using vales from HAVE.

5.

Przykład Problem Statement - Example code A + B A = B A or B A 17 100 1 B 42 101 0

6.

Przykład Problem Statement - Example code A + B A = B A or B A 17 100 1 B 42 101 0 result result = EVALUATE(code);

7.

Przykład Problem Statement - Example code A + B A = B A or B A 17 100 1 B 42 101 0 result 59 result = EVALUATE(code);

8.

Przykład Problem Statement - Example code A + B A = B A or B A 17 100 1 B 42 101 0 result 59 0 result = EVALUATE(code);

9.

Przykład Problem Statement - Example code A + B A = B A or B A 17 100 1 B 42 101 0 result 59 0 1 result = EVALUATE(code);

10.

Przykład Problem Statement - Example code A + B A = B A or B A 17 100 1 B 42 101 0 result 59 0 1 result = EVALUATE(code);

11.

Przykład Problem Statement - Example code A + B A = B A or B A 17 100 1 B 42 101 0 result 59 0 1 result = EVALUATE(code);

12.

Przykład Problem Statement - Example code A + B A = B A or B A 17 100 1 B 42 101 0 result 59 0 1 result = EVALUATE(code);

13.

Pakiet? „The wolf Is there a SAS package for this job? is s ated and the she e p is Of course there is! The evExpress package.. the OR spaa s cka way to s ges har e LY ? by B art Jablo n ski who le”

14.

Gdzie szukać pakietu? github.com/yabwon/SAS_PACKAGES

15.

Gdzie szukać pakietu? github.com/SASPAC/evexpress

16.

Gdzie szukać pakietu? github.com/SASPAC/evexpress

17.

Gdzie szukać pakietu? github.com/SASPAC/evexpress

18.

Gdzie szukać pakietu? github.com/SASPAC/evexpress

19.

Kod The Code %loadPackage(evExpress)

20.

Kod The Code %loadPackage(evExpress) code (x > 1) and c="A" x < 1 and (9 < y < 13) x < 1 or (81 < y*y) (3 - sqrt(x+y)) 12 + sum(of x--y) sin(x)**2 + cos(x)**2 X 3 -3 3 5 3 -3 Y 11 17 11 11 9 11 C A B C D E F

21.

Kod The Code %loadPackage(evExpress) code (x > 1) and c="A" x < 1 and (9 < y < 13) x < 1 or (81 < y*y) (3 - sqrt(x+y)) 12 + sum(of x--y) sin(x)**2 + cos(x)**2 X 3 -3 3 5 3 -3 Y 11 17 11 11 9 11 C A B C D E F %evExpressDS(have,exp=code,want=work.want)

22.

Kod The Code %loadPackage(evExpress) code (x > 1) and c="A" x < 1 and (9 < y < 13) x < 1 or (81 < y*y) (3 - sqrt(x+y)) 12 + sum(of x--y) sin(x)**2 + cos(x)**2 X 3 -3 3 5 3 -3 Y 11 17 11 11 9 11 C A B C D E F %evExpressDS(have,exp=code,want=work.want)

23.

Kod The Code %loadPackage(evExpress) code (x > 1) and c="A" x < 1 and (9 < y < 13) x < 1 or (81 < y*y) (3 - sqrt(x+y)) 12 + sum(of x--y) sin(x)**2 + cos(x)**2 X 3 -3 3 5 3 -3 Y 11 17 11 11 9 11 C A B C D E F data want; set have curobs=curobs indsname=indsname; value = evExpress(code, indsname, curobs); run;

24.

Kod The Code %loadPackage(evExpress) code (x > 1) and c="A" x < 1 and (9 < y < 13) x < 1 or (81 < y*y) (3 - sqrt(x+y)) 12 + sum(of x--y) sin(x)**2 + cos(x)**2 X 3 -3 3 5 3 -3 Y 11 17 11 11 9 11 C A B C D E F data want; set have curobs=curobs indsname=indsname; value = evExpress(code, indsname, curobs); run;

25.

Kod The Code %loadPackage(evExpress) code (x > 1) and c="A" x < 1 and (9 < y < 13) x < 1 or (81 < y*y) (3 - sqrt(x+y)) 12 + sum(of x--y) sin(x)**2 + cos(x)**2 X 3 -3 3 5 3 -3 Y 11 17 11 11 9 11 C A B C D E F data want; set have curobs=curobs indsname=indsname; value = evExpress(code, indsname, curobs); run;

26.

Źródła  Bartosz Jabłoński, ”SAS packages - the way to share (a how to) - extended”, SAS GF 2020 Proceedings (updated version as of November 2025), https://github.com/yabwon/SAS_PACKAGES/tree/master/SPF/Documentation  Bartosz Jabłoński, evExpress packages documentation, (as of January 2026), https://github.com/SASPAC/evexpress  Rick Langston, ”Submitting SAS Code On The Side”, SAS Global Forum 2013 Proceedings, 032-2013, https://support.sas.com/resources/papers/proceedings13/032-2013.pdf  Quentin McMullen, ”A Close Look at How DOSUBL Handles Macro Variable Scope”, SAS Global Forum 2020 Proceedings, 4958-2020, https://support.sas.com/resources/papers/proceedings13/032-2013.pdf  Steve Prust, ”Using the full power of SAS to resolve Algorithmic MedDRA SMQs”, PHUSE EU 2025 Proceedings, SM12, https://www.lexjansen.com/phuse/2025/SM/PAP_SM12.pdf  Daniel M. Himmel, ”Parsing a Compound Boolean Condition to Evaluate Its Clauses Individually and in Logical Groups”, NESUG 1990 Proceedings, https://www.lexjansen.com/nesug/nesug90/NESUG90042.pdf  Bartosz Jabłoński et al., ”Yet another reason to love hash tables”, SAS-L discussion group archive, 2019-07-04, https://listserv.uga.edu/scripts/wa-UGA.exe?A2=ind1907A&L=SAS-L&P=R18571

27.

ありがとうございます dziękuję bardzo