Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
WiscoSippi
Creator
Creator

R Advanced Analytics Expression Not Working

See expression below. Any help is appreciated. I verified the R script does work directly in R. Do all the field types have to be numerical? Can I use my aggregation variables?

EDIT: I tried r.scriptevalex & specified the data types: R.ScriptEvalEx('SNNNNNNNNNNNNNNNNNNNNNNNNNNNN',
Still didn't work.

 

 

R.ScriptEval(
'lm(Act_Hrs~TOTALWEIGHT+Efficiency+NUMBERWINDINGSLIMB+Two_or_Five_winding_per_limb+BUILDXFMRINEHVPLANTYN+WESLTCPART_equal_to_VRC+WESLTCQTY+BOOSTER+SOUNDTEST+EITHER_DUAL+DUALDUAL+NUMBERFANS+WESTANKOPTWESREMOVABLEBUSHINGTURRETSQTY+AIRTERMINALCHAMBERQTY+Fifteen_MVA_or_under+PRODUCTCODE_equal_to_AUTO+PRODUCTCODE_equal_to_STATIONAUX+PRODUCTCODE_equal_to_GENERATOR+PRODUCTCODE_equal_to_ZIGZAG+HVBUSHINGMOUNT+FIBEROPTICPROBES+OVERLOADMVARATING+CTCMASS1+TINSTALLWESDRYSHIP+RMVCableQty+DETCYN+PAYN,q)$coef',
[Project Number with Mask] as Project,
$(vDirectLbr_ACTQ) as Act_Hours,
[total installed weight_WESTOTALWEIGHT Code] as TOTALWEIGHT,
($(vDirectLbr_DESQ)/$(vDirectLbr_ACTQ)) as Efficiency,
[number of windings per limb_WESNUMBERWINDINGSLIMB Code] as NUMBERWINDINGSLIMB,
[2 OR 5 WINDINGS Code_CONVERTED] as Two_or_Five_winding_per_limb,
[EHVPLANT Code_CONVERTED] as BUILDXFMRINEHVPLANTYN,
[VRC Code_CONVERTED] as WESLTCPART_equal_to_VRC,
[Qty_WESLTCQTY Code] as WESLTCQTY,
[BOOSTER Code_CONVERTED] as BOOSTER,
[SOUNDTEST Code_CONVERTED] as SOUNDTEST,
[EITHER DUAL Code_CONVERTED] as EITHER_DUAL,
[DUALDUAL Code_CONVERTED] as DUALDUAL,
[total number of fans_WESNUMBERFANS Code] as NUMBERFANS,
[TANK OPTIONS Code_CONVERTED] as WESTANKOPTWESREMOVABLEBUSHINGTURRETSQTY,
[Air Terminal Chamber_CONVERTED] as AIRTERMINALCHAMBERQTY,
[MVA<15 Code_CONVERTED] as Fifteen_MVA_or_under,
[AUTO Code_CONVERTED] as PRODUCTCODE_equal_to_AUTO,
[STATIONAUX Code_CONVERTED] as PRODUCTCODE_equal_to_STATIONAUX,
[GENERATOR Code_CONVERTED] as PRODUCTCODE_equal_to_GENERATOR,
[ZIGZAG Code_CONVERTED] as PRODUCTCODE_equal_to_ZIGZAG,
[HVBUSHINGMOUNT Code_CONVERTED] as HVBUSHINGMOUNT,
[FIBEROPTIC Code_CONVERTED] as FIBEROPTICPROBES,
[OVERLOADMVARATING Code_CONVERTED] as OVERLOADMVARATING,
[Total CTC Weight lbs_WESCTCMASS1 Code] as CTCMASS1,
[DRYSHIP Code_CONVERTED] as TINSTALLWESDRYSHIP,
[RMVCableQTYOPT_WESRMVCABLEQTYOPT Code] as RMVCableQty,
[DETCYN Code_CONVERTED] as DETCYN,
[PREVENTIVE AUTO Code_CONVERTED] as PAYN
)

 

“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” — Antoine de Saint-Exupéry
Labels (2)
1 Solution

Accepted Solutions
WiscoSippi
Creator
Creator
Author

I needed to handle nulls in my data.frame and my response variable name was wrong. Final working code.

R.ScriptEvalEx('SNNNNNNNNNNNNNNNNNNNNNNNNNNNN',
'lm(Act_Hrs ~ TOTALWEIGHT+Efficiency+NUMBERWINDINGSLIMB+Two_or_Five_winding_per_limb+BUILDXFMRINEHVPLANTYN+WESLTCPART_equal_to_VRC+WESLTCQTY+BOOSTER+SOUNDTEST+EITHER_DUAL+DUALDUAL+NUMBERFANS+WESTANKOPTWESREMOVABLEBUSHINGTURRETSQTY+AIRTERMINALCHAMBERQTY+Fifteen_MVA_or_under+PRODUCTCODE_equal_to_AUTO+PRODUCTCODE_equal_to_STATIONAUX+PRODUCTCODE_equal_to_GENERATOR+PRODUCTCODE_equal_to_ZIGZAG+HVBUSHINGMOUNT+FIBEROPTICPROBES+OVERLOADMVARATING+CTCMASS1+TINSTALLWESDRYSHIP+RMVCableQty+DETCYN+PAYN,q)$coef',
if(isnull([Project Number with Mask]),0,[Project Number with Mask]) as Project,
if(isnull($(vDirectLbr_ACTQ)),0,$(vDirectLbr_ACTQ)) as Act_Hrs,
if(isnull([total installed weight_WESTOTALWEIGHT Code]),0,[total installed weight_WESTOTALWEIGHT Code])  as TOTALWEIGHT,
if(isnull($(vEfficiency)),0,$(vEfficiency))  as Efficiency,
if(isnull([number of windings per limb_WESNUMBERWINDINGSLIMB Code]),0,[number of windings per limb_WESNUMBERWINDINGSLIMB Code])  as NUMBERWINDINGSLIMB,
if(isnull([2 OR 5 WINDINGS Code_CONVERTED]),0,[2 OR 5 WINDINGS Code_CONVERTED])  as Two_or_Five_winding_per_limb,
if(isnull([EHVPLANT Code_CONVERTED]),0,[EHVPLANT Code_CONVERTED])  as BUILDXFMRINEHVPLANTYN,
if(isnull([VRC Code_CONVERTED]),0,[VRC Code_CONVERTED])  as WESLTCPART_equal_to_VRC,
if(isnull([Qty_WESLTCQTY Code]),0,[Qty_WESLTCQTY Code])  as WESLTCQTY,
if(isnull([BOOSTER Code_CONVERTED]),0,[BOOSTER Code_CONVERTED])  as BOOSTER,
if(isnull([SOUNDTEST Code_CONVERTED]),0,[SOUNDTEST Code_CONVERTED])  as SOUNDTEST,
if(isnull([EITHER DUAL Code_CONVERTED]),0,[EITHER DUAL Code_CONVERTED])  as EITHER_DUAL,
if(isnull([DUALDUAL Code_CONVERTED]),0,[DUALDUAL Code_CONVERTED])  as DUALDUAL,
if(isnull([total number of fans_WESNUMBERFANS Code]),0,[total number of fans_WESNUMBERFANS Code])  as NUMBERFANS,
if(isnull([TANK OPTIONS Code_CONVERTED]),0,)  as WESTANKOPTWESREMOVABLEBUSHINGTURRETSQTY,
if(isnull([Air Terminal Chamber_CONVERTED]),0,[TANK OPTIONS Code_CONVERTED])  as AIRTERMINALCHAMBERQTY,
if(isnull([MVA<15 Code_CONVERTED]),0,[MVA<15 Code_CONVERTED])  as Fifteen_MVA_or_under,
if(isnull([AUTO Code_CONVERTED]),0,[AUTO Code_CONVERTED])  as PRODUCTCODE_equal_to_AUTO,
if(isnull([STATIONAUX Code_CONVERTED]),0,[STATIONAUX Code_CONVERTED])  as PRODUCTCODE_equal_to_STATIONAUX,
if(isnull([GENERATOR Code_CONVERTED]),0,[GENERATOR Code_CONVERTED])  as PRODUCTCODE_equal_to_GENERATOR,
if(isnull([ZIGZAG Code_CONVERTED]),0,[ZIGZAG Code_CONVERTED])  as PRODUCTCODE_equal_to_ZIGZAG,
if(isnull([HVBUSHINGMOUNT Code_CONVERTED]),0,[HVBUSHINGMOUNT Code_CONVERTED])  as HVBUSHINGMOUNT,
if(isnull([FIBEROPTIC Code_CONVERTED]),0,[FIBEROPTIC Code_CONVERTED])  as FIBEROPTICPROBES,
if(isnull([OVERLOADMVARATING Code_CONVERTED]),0,[OVERLOADMVARATING Code_CONVERTED])  as OVERLOADMVARATING,
if(isnull([Total CTC Weight lbs_WESCTCMASS1 Code]),0,[Total CTC Weight lbs_WESCTCMASS1 Code])  as CTCMASS1,
if(isnull([DRYSHIP Code_CONVERTED]),0,[DRYSHIP Code_CONVERTED])  as TINSTALLWESDRYSHIP,
if(isnull([RMVCableQTYOPT_WESRMVCABLEQTYOPT Code]),0,[RMVCableQTYOPT_WESRMVCABLEQTYOPT Code])  as RMVCableQty,
if(isnull([DETCYN Code_CONVERTED]),0,[DETCYN Code_CONVERTED])  as DETCYN,
if(isnull([PREVENTIVE AUTO Code_CONVERTED]),0,[PREVENTIVE AUTO Code_CONVERTED])  as PAYN
)
“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” — Antoine de Saint-Exupéry

View solution in original post

1 Reply
WiscoSippi
Creator
Creator
Author

I needed to handle nulls in my data.frame and my response variable name was wrong. Final working code.

R.ScriptEvalEx('SNNNNNNNNNNNNNNNNNNNNNNNNNNNN',
'lm(Act_Hrs ~ TOTALWEIGHT+Efficiency+NUMBERWINDINGSLIMB+Two_or_Five_winding_per_limb+BUILDXFMRINEHVPLANTYN+WESLTCPART_equal_to_VRC+WESLTCQTY+BOOSTER+SOUNDTEST+EITHER_DUAL+DUALDUAL+NUMBERFANS+WESTANKOPTWESREMOVABLEBUSHINGTURRETSQTY+AIRTERMINALCHAMBERQTY+Fifteen_MVA_or_under+PRODUCTCODE_equal_to_AUTO+PRODUCTCODE_equal_to_STATIONAUX+PRODUCTCODE_equal_to_GENERATOR+PRODUCTCODE_equal_to_ZIGZAG+HVBUSHINGMOUNT+FIBEROPTICPROBES+OVERLOADMVARATING+CTCMASS1+TINSTALLWESDRYSHIP+RMVCableQty+DETCYN+PAYN,q)$coef',
if(isnull([Project Number with Mask]),0,[Project Number with Mask]) as Project,
if(isnull($(vDirectLbr_ACTQ)),0,$(vDirectLbr_ACTQ)) as Act_Hrs,
if(isnull([total installed weight_WESTOTALWEIGHT Code]),0,[total installed weight_WESTOTALWEIGHT Code])  as TOTALWEIGHT,
if(isnull($(vEfficiency)),0,$(vEfficiency))  as Efficiency,
if(isnull([number of windings per limb_WESNUMBERWINDINGSLIMB Code]),0,[number of windings per limb_WESNUMBERWINDINGSLIMB Code])  as NUMBERWINDINGSLIMB,
if(isnull([2 OR 5 WINDINGS Code_CONVERTED]),0,[2 OR 5 WINDINGS Code_CONVERTED])  as Two_or_Five_winding_per_limb,
if(isnull([EHVPLANT Code_CONVERTED]),0,[EHVPLANT Code_CONVERTED])  as BUILDXFMRINEHVPLANTYN,
if(isnull([VRC Code_CONVERTED]),0,[VRC Code_CONVERTED])  as WESLTCPART_equal_to_VRC,
if(isnull([Qty_WESLTCQTY Code]),0,[Qty_WESLTCQTY Code])  as WESLTCQTY,
if(isnull([BOOSTER Code_CONVERTED]),0,[BOOSTER Code_CONVERTED])  as BOOSTER,
if(isnull([SOUNDTEST Code_CONVERTED]),0,[SOUNDTEST Code_CONVERTED])  as SOUNDTEST,
if(isnull([EITHER DUAL Code_CONVERTED]),0,[EITHER DUAL Code_CONVERTED])  as EITHER_DUAL,
if(isnull([DUALDUAL Code_CONVERTED]),0,[DUALDUAL Code_CONVERTED])  as DUALDUAL,
if(isnull([total number of fans_WESNUMBERFANS Code]),0,[total number of fans_WESNUMBERFANS Code])  as NUMBERFANS,
if(isnull([TANK OPTIONS Code_CONVERTED]),0,)  as WESTANKOPTWESREMOVABLEBUSHINGTURRETSQTY,
if(isnull([Air Terminal Chamber_CONVERTED]),0,[TANK OPTIONS Code_CONVERTED])  as AIRTERMINALCHAMBERQTY,
if(isnull([MVA<15 Code_CONVERTED]),0,[MVA<15 Code_CONVERTED])  as Fifteen_MVA_or_under,
if(isnull([AUTO Code_CONVERTED]),0,[AUTO Code_CONVERTED])  as PRODUCTCODE_equal_to_AUTO,
if(isnull([STATIONAUX Code_CONVERTED]),0,[STATIONAUX Code_CONVERTED])  as PRODUCTCODE_equal_to_STATIONAUX,
if(isnull([GENERATOR Code_CONVERTED]),0,[GENERATOR Code_CONVERTED])  as PRODUCTCODE_equal_to_GENERATOR,
if(isnull([ZIGZAG Code_CONVERTED]),0,[ZIGZAG Code_CONVERTED])  as PRODUCTCODE_equal_to_ZIGZAG,
if(isnull([HVBUSHINGMOUNT Code_CONVERTED]),0,[HVBUSHINGMOUNT Code_CONVERTED])  as HVBUSHINGMOUNT,
if(isnull([FIBEROPTIC Code_CONVERTED]),0,[FIBEROPTIC Code_CONVERTED])  as FIBEROPTICPROBES,
if(isnull([OVERLOADMVARATING Code_CONVERTED]),0,[OVERLOADMVARATING Code_CONVERTED])  as OVERLOADMVARATING,
if(isnull([Total CTC Weight lbs_WESCTCMASS1 Code]),0,[Total CTC Weight lbs_WESCTCMASS1 Code])  as CTCMASS1,
if(isnull([DRYSHIP Code_CONVERTED]),0,[DRYSHIP Code_CONVERTED])  as TINSTALLWESDRYSHIP,
if(isnull([RMVCableQTYOPT_WESRMVCABLEQTYOPT Code]),0,[RMVCableQTYOPT_WESRMVCABLEQTYOPT Code])  as RMVCableQty,
if(isnull([DETCYN Code_CONVERTED]),0,[DETCYN Code_CONVERTED])  as DETCYN,
if(isnull([PREVENTIVE AUTO Code_CONVERTED]),0,[PREVENTIVE AUTO Code_CONVERTED])  as PAYN
)
“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” — Antoine de Saint-Exupéry