BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
klroesner
Quartz | Level 8

Hi,

Currently, the regression within a CAS action, does not start correctly for certain dependent variables. In these cases, the code is not properly read, and CAS does not actually perform the regression. The original dataset contains approximately 45 million observations. When a test sample of 10,000 observations from the original dataset is used, the CAS action is accepted, and the regression runs successfully. The code also works without issues for previous dependent variables from the same dataset. Structurally, the dependent variables differ in that, for the one that fails, the value 0.01 occurs very frequently (a Gamma regression is being conducted, which is why a small constant is added).

 

++++++++++++++++++++++++++++++

 

klroesner_0-1771953012155.jpeg

 

 

++++++++++++++++++++++++++++++ Table Structure

 

 

klroesner_1-1771953012156.jpeg

 

 

 

++++++++++++++++++++++++++++++

 

cas test1;

 

            proc cas;

                                    regression.genmod

                                               table={name="regression_kosten_itt", caslib="cpmevalhzv", where="zeitpunkt < 6"},

                                               class={

                                                           {vars={"beginn_hzv"}}, {vars={"jahr"}}, {vars={"gruppe"}, ref="0"}, {vars={"post"}, ref="0"}, {vars={"gruppe_post"}, ref="0"},

                                                           {vars={"FV"}, ref="0"}, {vars={"F"}, ref="0"},

                                                           {vars={"PG1"}, ref="0"}, {vars={"PG2"}, ref="0"}, {vars={"PG3"}, ref="0"}, {vars={"PG4"}, ref="0"}, {vars={"PG5"}, ref="0"},

                                                           {vars={"Elix_01"}, ref="0"}, {vars={"Elix_02"}, ref="0"}, {vars={"Elix_03"}, ref="0"}, {vars={"Elix_04"}, ref="0"}, {vars={"Elix_05"}, ref="0"},

                                                           {vars={"Elix_06"}, ref="0"}, {vars={"Elix_07"}, ref="0"}, {vars={"Elix_08"}, ref="0"}, {vars={"Elix_09"}, ref="0"}, {vars={"Elix_10"}, ref="0"},

                                                           {vars={"Elix_11"}, ref="0"}, {vars={"Elix_12"}, ref="0"}, {vars={"Elix_13"}, ref="0"}, {vars={"Elix_14"}, ref="0"}, {vars={"Elix_15"}, ref="0"},

                                                           {vars={"Elix_16"}, ref="0"}, {vars={"Elix_17"}, ref="0"}, {vars={"Elix_18"}, ref="0"}, {vars={"Elix_19"}, ref="0"}, {vars={"Elix_20"}, ref="0"},

                                                           {vars={"Elix_21"}, ref="0"}, {vars={"Elix_22"}, ref="0"}, {vars={"Elix_23"}, ref="0"}, {vars={"Elix_24"}, ref="0"}, {vars={"Elix_25"}, ref="0"},

                                                           {vars={"Elix_26"}, ref="0"}, {vars={"Elix_27"}, ref="0"}, {vars={"Elix_28"}, ref="0"}, {vars={"Elix_29"}, ref="0"}, {vars={"Elix_30"}, ref="0"},

                                                           {vars={"Elix_31"}, ref="0"}, {vars={"Elix_32"}, ref="0"}, {vars={"Elix_33"}, ref="0"}, {vars={"Elix_34"}, ref="0"}, {vars={"Elix_35"}, ref="0"},

                                                           {vars={"Elix_36"}, ref="0"}, {vars={"Elix_37"}, ref="0"}, {vars={"Elix_38"}, ref="0"}, {vars={"Elix_39"}, ref="0"}},

                                               maxOptBatch=2848032

,

                                               weight="weights",

                                               model={depvar="E3_0",

                                                           effects={"beginn_hzv","jahr","gruppe","post","gruppe_post",

                                                                       "geschlecht","age","FV","F","PG1","PG2","PG3","PG4","PG5",

                                                           "Elix_01","Elix_02","Elix_03","Elix_04","Elix_05","Elix_06","Elix_07","Elix_08","Elix_09","Elix_10","Elix_11","Elix_12","Elix_13","Elix_14","Elix_15","Elix_16","Elix_17","Elix_18","Elix_19",

                                                           "Elix_20","Elix_21","Elix_22","Elix_23","Elix_24","Elix_25","Elix_26","Elix_27","Elix_28","Elix_29","Elix_30","Elix_31","Elix_32","Elix_33","Elix_34","Elix_35","Elix_36","Elix_37","Elix_38","Elix_39"},

                                                           dist="gamma", link="log"};

                        run;      

    quit;

 

 

 

++++++++++++++++++++++++++++++ CAS Server Log:

 

2026-02-23T23:15:17,063 INFO  [00000007] 2624910 P226526 301 [tkcasalic.c:466] - Opening license file '/opt/sas/viya/config/etc/cas/default/sas_license.txt'.

2026-02-23T23:15:17,130 INFO  [00000007] 2624910 P226526 301 [tkcastaba.c:4299] - Accessed global table REGRESSION_KOSTEN_ITT loaded in caslib cpmevalhzv.

2026-02-23T23:15:17,188 INFO  [00000007] 2624910 P226526 301 [tkcasaimp.c:4504] - ++ action regression.genmod / table={name='regression_kosten_itt', caslib='cpmevalhzv', where='zeitpunkt < 6'}, class={{vars={'beginn_hzv'}}, {vars={'jahr'}}, {vars={'gruppe'}, ref='0'}, {vars={'post'}, ref='0'}, {vars={'gruppe_post'}, ref='0'}, {vars={'FV'}, ref='0'}, {vars={'F'}, ref='0'}, {vars={'PG1'}, ref='0'}, {vars={'PG2'}, ref='0'}, {vars={'PG3'}, ref='0'}, {vars={'PG4'}, ref='0'}, {vars={'PG5'}, ref='0'}, {vars={'Elix_01'}, ref='0'}, {vars={'Elix_02'}, ref='0'}, {vars={'Elix_03'}, ref='0'}, {vars={'Elix_04'}, ref='0'}, {vars={'Elix_05'}, ref='0'}, {vars={'Elix_06'}, ref='0'}, {vars={'Elix_07'}, ref='0'}, {vars={'Elix_08'}, ref='0'}, {vars={'Elix_09'}, ref='0'}, {vars={'Elix_10'}, ref='0'}, {vars={'Elix_11'}, ref='0'}, {vars={'Elix_12'}, ref='0'}, {vars={'Elix_13'}, ref='0'}, {vars={'Elix_14'}, ref='0'}, {vars={'Elix_15'}, ref='0'}, {vars={'Elix_16'}, ref='0'}, {vars={'Elix_17'}, ref='0'}, {vars={'Elix_18'}, ref='0'}, {vars={'Elix_19'}, ref='0'}, {vars={'Elix_20'}, ref='0'}, {vars={'Elix_21'}, ref='0...

2026-02-23T23:15:38,278 FATAL [00000007] 2624910 P226526 301 [cas.c:161] - Exception in action.

2026-02-23T23:15:38,279 FATAL [00000007] 2624910 P226526 301 [cas.c:163] - Domain exception

2026-02-23T23:15:38,280 FATAL [00000007] 2624910 P226526 301 [cas.c:188] - /opt/sas/viya/home/SASFoundation/sasexe/tkcasdrv.so(tktracex+0x42) [0x7fc49392f612]

/opt/sas/viya/home/SASFoundation/sasexe/tkcasdrv.so(exceptionHandler+0x266) [0x7fc4938c2f46]

/opt/sas/viya/home/SASFoundation/sasexe/tkmk.so(bktExcept+0x51) [0x7fc499d29671]

/opt/sas/viya/home/SASFoundation/sasexe/tkmk.so(bkt_fpe+0x80) [0x7fc499d2e910]

/opt/sas/viya/home/SASFoundation/sasexe/tkmk.so(bkt_signal_handler+0x154) [0x7fc499d29d14]

/usr/lib64/libpthread.so.0(+0x12990) [0x7fc49b3b7990]

/opt/sas/viya/home/SASFoundation/sasexe/tkznlo.so(+0x15b42) [0x7fc45f18fb42]

/opt/sas/viya/home/SASFoundation/sasexe/tkznlo.so(+0x1a1d75) [0x7fc45f31bd75]

/opt/sas/viya/home/SASFoundation/sasexe/tkznlo.so(+0x19dbea) [0x7fc45f317bea]

/opt/sas/viya/home/SASFoundation/sasexe/tkznlo.so(+0xcaa2f) [0x7fc45f244a2f]

/opt/sas/viya/home/SASFoundation/sasexe/regcas.so(genmodRunOptimization+0x78) [0x7fc4751c3268]

/opt/sas/viya/home/SASFoundation/sasexe/regcas.so(genmodFitModel+0x71b) [0x7fc4751c27bb]

/opt/sas/viya/home/SASFoundation/sasexe/airslct.so(airslctSelModel+0x1cf0) [0x7fc4741ee270]

/opt/sas/viya/home/SASFoundation/sasexe/regcas.so(+0x8dde3) [0x7fc475159de3]

/opt/sas/viya/home/SASFoundation/sasexe/tkcasa.so(casaInvoke+0x2edf) [0x7fc48ae7e45f]

/opt/sas/viya/home/SASFoundation/sasexe/tkcasdrv.so(HandleActionControllerThread+0xa75) [0x7fc4938d0f65]

/opt/sas/viya/home/SASFoundation/sasexe/tkmk.so(sktMain+0xf7) [0x7fc499d27527]

/opt/sas/viya/home/SASFoundation/sasexe/tkmk.so(bktMain+0x78) [0x7fc499d29498]

/usr/lib64/libpthread.so.0(+0x81ca) [0x7fc49b3ad1ca]

 

++++++++++++++++++++++++++++++

 

Any idea? 😊

 

Best regards,

 

Klaus

 

1 ACCEPTED SOLUTION

Accepted Solutions
klroesner
Quartz | Level 8

SAS Technical Support provided the solution: "Are the many 0.01 values that you mention actually zeros that you replaced with 0.01? If so, then you might want to try using the Tweedie distribution using the original zero values. Unlike the gamma distribution which doesn't support zeros, the Tweedie does support zeros and can allow a large mass of zeros." 

View solution in original post

1 REPLY 1
klroesner
Quartz | Level 8

SAS Technical Support provided the solution: "Are the many 0.01 values that you mention actually zeros that you replaced with 0.01? If so, then you might want to try using the Tweedie distribution using the original zero values. Unlike the gamma distribution which doesn't support zeros, the Tweedie does support zeros and can allow a large mass of zeros." 

Catch up on SAS Innovate 2026

Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.

Explore Now →
What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 1 reply
  • 503 views
  • 0 likes
  • 1 in conversation