{"version":2,"type":"job","id":"4c9fc43e-b582-4d71-815c-ed104a02ad1d","name":"#2_k-meansクラスタリング.cpf","label":"#2_k-meansクラスタリング","description":"","created":1659920825944,"modified":1661856521426,"notes":"","parameters":{"server":"","target":"com.sas.ep.sascoder.execution.producers.VPP","action":"processFlow","priority":"Reserved"},"properties":{"left":"20","top":"20","width":"100","height":"60","region":"output","fillcolor":"#FCFCFC","linecolor":"#9a9a9a","tooltip":"","portsonly":false,"key":"control","visible":true,"readonly":false},"steps":[{"version":2,"type":"import","id":"d581a2cc-447e-40b1-8b77-10f5291e050c","name":"","label":"\"bank_marketing.xlsx\" のインポート ","description":"","created":1659920825947,"modified":1659938774351,"notes":"","parameters":{"server":"","target":"com.sas.ep.sascoder.execution.producers.VPP","action":"runSASCode","priority":"Reserved","code":"/* 生成コード (IMPORT) */\r\n/* ソースファイル: bank_marketing.xlsx */\r\n/* ソースパス: /home/u62013505 */\r\n/* コード生成日: 2022/08/08 15:06 */\r\n\r\n%web_drop_table(WORK.IMPORT1);\r\n\r\n\r\nFILENAME REFFILE '/home/u62013505/bank_marketing.xlsx';\r\n\r\nPROC IMPORT DATAFILE=REFFILE\r\n\tDBMS=XLSX\r\n\tOUT=WORK.IMPORT1;\r\n\tGETNAMES=YES;\r\nRUN;\r\n\r\nPROC CONTENTS DATA=WORK.IMPORT1; RUN;\r\n\r\n\r\n%web_open_table(WORK.IMPORT1);","resource":false,"outputType":"TABLE","outputName":"IMPORT1","outputLocation":"WORK","fileName":"bank_marketing.xlsx","filePath":"/home/u62013505","fileType":"","fileSheet":"","fileTable":"","delimiterOption":"","dataRowOption":-1,"guessingRowsOption":-1,"getnamesOption":true,"quoteDelimiterOption":"","eolDelimiterOption":""},"properties":{"left":"88","top":"40","width":"100","height":"60","region":"output","fillcolor":"#E0E6F1","linecolor":"#6882a3","tooltip":""bank_marketing.xlsx" のインポート ","portsonly":true,"key":"control","visible":true}},{"version":2,"type":"task","id":"c8f514fc-2424-43c5-809b-3358ffc7f536","name":"","label":"要約統計量","description":"要約統計量タスクでは、全オブザベーションやオブザベーションのグループに関する記述統計量を算出できます。ヒストグラムと箱ひげ図も生成できます。","created":1660788748551,"modified":1660788807371,"notes":"","parameters":{"server":"","target":"com.sas.ep.sascoder.execution.producers.VPP","action":"runSASCode","priority":"Reserved","code":"/*\n *\n * SAS Studio 3.8 によって生成されたタスクコード \n *\n * 生成日 '2022/08/18 11:13' \n * 生成者 'u62013505' \n * 生成に使用されたサーバー 'ODAWS01-APSE1-2.ODA.SAS.COM' \n * 生成に使用された SAS プラットフォーム 'Linux LIN X64 3.10.0-1062.12.1.el7.x86_64' \n * 生成に使用された SAS バージョン '9.04.01M6P11072018' \n * 生成に使用されたブラウザ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36' \n * 生成に使用された Web クライアント 'https://odamid-apse1-2.oda.sas.com/SASStudio/main?locale=ja&zone=GMT%252B09%253A00&https%3A%2F%2Fodamid-apse1-2.oda.sas.com%2FSASStudio%2Findex=' \n *\n */\n\nods noproctitle;\nods graphics / imagemap=on;\n\nproc means data=WORK.IMPORT1 chartype mean std min max median n vardef=df \n\t\tqmethod=os;\n\tvar '年齢'n '年間平均残高'n '最終連絡日'n '最終会話時間'n 'CP中連絡回数'n '最終連絡日数'n 'CP前連絡回数'n;\n\tclass '定期預金契約'n;\nrun;\n\nproc univariate data=WORK.IMPORT1 vardef=df noprint;\n\tvar '年齢'n '年間平均残高'n '最終連絡日'n '最終会話時間'n 'CP中連絡回数'n '最終連絡日数'n 'CP前連絡回数'n;\n\tclass '定期預金契約'n;\n\thistogram '年齢'n '年間平均残高'n '最終連絡日'n '最終会話時間'n 'CP中連絡回数'n '最終連絡日数'n 'CP前連絡回数'n;\nrun;\n\nproc sort data=WORK.IMPORT1 out=WORK.TempSorted2236;\n\tby '定期預金契約'n;\nrun;\n\nproc boxplot data=WORK.TempSorted2236;\n\tplot ('年齢'n '年間平均残高'n '最終連絡日'n '最終会話時間'n 'CP中連絡回数'n '最終連絡日数'n \n\t\t'CP前連絡回数'n)*'定期預金契約'n / boxstyle=schematic;\nrun;\n\nproc datasets library=WORK noprint;\n\tdelete TempSorted2236;\n\trun;","ctm":"./resources/sas/models/SumStats.xml","serializedData":"\n \n 要約統計量\n 要約統計量タスクでは、全オブザベーションやオブザベーションのグループに関する記述統計量を算出できます。ヒストグラムと箱ひげ図も生成できます。\n 9EB092ED-BD39-410D-8934-6B2D7A6D871C\n MEANS UNIVARIATE BOXPLOT\n 3.8\n \n SAS Studio タスクリファレンスガイド\n \n \n MEANS プロシジャ\n \n \n UNIVARIATE プロシジャ\n \n \n BOXPLOT プロシジャ\n \n \n SAS チュートリアル\n \n \n \n \n \n \n 分析変数:\n 分類変数:\n グループ分析:\n 度数カウント:\n 重み変数:\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Select at least one statistic or one plot.\n \n \n 0)\nproc sort data=$DATASOURCE out=WORK.TempSorted2236;\n by #foreach($item in $byVariables) $item #end;\nrun;\n#end\n#end\n\n######## proc means ########\n## proc means code is generated only when at least one statistics is selected\n#if($statsSelected==\"1\")\n#if($byVariables.size() > 0)\nproc means data=WORK.TempSorted2236\n#else\nproc means data=$DATASOURCE\n#end\n chartype\n#if($mean == \"1\") mean #end\n#if($std == \"1\") std #end\n#if($min == \"1\") min #end\n#if($max == \"1\") max #end\n#if($median == \"1\" || $median1 == \"1\") median #end\n#if($nobs == \"1\") n #end\n#if($missing == \"1\") nmiss #end\n#if($stdErr == \"1\") stderr #end\n#if($variance == \"1\") var #end\n#if($mode == \"1\") mode #end\n#if($range == \"1\") range #end\n#if($sum == \"1\") sum #end\n#if($sumWeights == \"1\") sumwgt #end\n#if($divisor)\n#if($divisor.equalsIgnoreCase(\"DDOF\")) vardef=df #end\n#if($divisor.equalsIgnoreCase(\"DNOO\")) vardef=n #end\n#if($divisor.equalsIgnoreCase(\"DSOWM1\")) vardef=wdf #end\n#if($divisor.equalsIgnoreCase(\"DSOW\")) vardef=wgt #end\n#end\n#if($divisorWgt)\n#if($divisorWgt.equalsIgnoreCase(\"DDOFWGT\")) vardef=df #end\n#if($divisorWgt.equalsIgnoreCase(\"DNOOWGT\")) vardef=n #end\n#if($divisorWgt.equalsIgnoreCase(\"DSOWM1WGT\")) vardef=wdf #end\n#if($divisorWgt.equalsIgnoreCase(\"DSOWWGT\")) vardef=wgt #end\n#end\n#if($conf == \"1\") clm alpha=$alpha #end\n#if($coef == \"1\") cv #end\n#if($skewness == \"1\") skewness #end\n#if($kurtosis == \"1\") kurtosis #end\n#if($P1 == \"1\") p1 #end\n#if($P5 == \"1\") p5 #end\n#if($P10 == \"1\") p10 #end\n#if($Q1 == \"1\") q1 #end\n#if($Q3 == \"1\") q3 #end\n#if($P90 == \"1\") p90 #end\n#if($P95 == \"1\") p95 #end\n#if($P99 == \"1\") p99 #end\n#if($qrange == \"1\") qrange #end\n#if($quantile) #if($quantile.equalsIgnoreCase(\"QMOS\")) \n qmethod=os\n#else\n qmethod=p2\n#end\n#end\n#if($quantileWgt) #if($quantileWgt.equalsIgnoreCase(\"QMOSWGT\")) \n qmethod=os\n#else\n qmethod=p2\n#end\n#end;\n var #foreach($item in $analysisVariables) $item #end;\n#if($classVariables.size() > 0)\n class #foreach($item in $classVariables) $item #end;\n#end\n#if($outputDS == 1)\n output out=$outputDSName\n#if($mean == \"1\") mean= #end\n#if($std == \"1\") std= #end\n#if($min == \"1\") min= #end\n#if($max == \"1\") max= #end\n#if($median == \"1\" || $median1 == \"1\") median= #end\n#if($nobs == \"1\") n= #end\n#if($missing == \"1\") nmiss= #end\n#if($stdErr == \"1\") stderr= #end\n#if($variance == \"1\") var= #end\n#if($mode == \"1\") mode= #end\n#if($range == \"1\") range= #end\n#if($sum == \"1\") sum= #end\n#if($sumWeights == \"1\") sumwgt= #end\n#if($conf == \"1\") lclm= uclm= #end\n#if($coef == \"1\") cv= #end\n#if($skewness == \"1\") skewness= #end\n#if($kurtosis == \"1\") kurtosis= #end\n#if($P1 == \"1\") p1= #end\n#if($P5 == \"1\") p5= #end\n#if($P10 == \"1\") p10= #end\n#if($Q1 == \"1\") q1= #end\n#if($Q3 == \"1\") q3= #end\n#if($P90 == \"1\") p90= #end\n#if($P95 == \"1\") p95= #end\n#if($P99 == \"1\") p99= #end\n#if($qrange == \"1\") qrange= #end / autoname;\n#end\n#if($freqVariable.size() > 0) freq #foreach($item in $freqVariable)$item #end; #end\n#if($weightVariable.size() > 0) weight #foreach($item in $weightVariable)$item #end; #end\n#if($byVariables.size() > 0)\n by #foreach($item in $byVariables) $item #end;\n#end\nrun;\n#end\n######## proc means ########\n\n######## Histogram ########\n#if($hist == \"1\")\n#if($byVariables.size() > 0)\nproc univariate data=WORK.TempSorted2236\n#else\nproc univariate data=$DATASOURCE\n#end \n#if($divisor)\n#if($divisor.equalsIgnoreCase(\"DDOF\")) vardef=df #end\n#if($divisor.equalsIgnoreCase(\"DNOO\")) vardef=n #end\n#if($divisor.equalsIgnoreCase(\"DSOWM1\")) vardef=wdf #end\n#if($divisor.equalsIgnoreCase(\"DSOW\")) vardef=wgt #end\n#end\n#if($divisorWgt)\n#if($divisorWgt.equalsIgnoreCase(\"DDOFWGT\")) vardef=df #end\n#if($divisorWgt.equalsIgnoreCase(\"DNOOWGT\")) vardef=n #end\n#if($divisorWgt.equalsIgnoreCase(\"DSOWM1WGT\")) vardef=wdf #end\n#if($divisorWgt.equalsIgnoreCase(\"DSOWWGT\")) vardef=wgt #end\n#end\nnoprint;\n#if($analysisVariables.size() > 0) var #foreach($item in $analysisVariables) $item #end; #end\n#if($classVariables.size() > 0) class #foreach($item in $classVariables) $item #end; #end\nhistogram #foreach($item in $analysisVariables) $item #end\n#if($normalDensityPlot == \"1\" || $kernelDensityPlot == \"1\") / \n#if($normalDensityPlot == \"1\") normal(noprint)#end\n#if($kernelDensityPlot == \"1\") kernel#end\n#end; \n#if(($mean==\"1\")||($std==\"1\")||($min==\"1\")||($max==\"1\")||($nobs==\"1\")||($missing==\"1\")||($stdErr==\"1\")||($variance==\"1\")||($mode==\"1\")||($range==\"1\")||($sum==\"1\")||($sumWeights==\"1\")||($coef==\"1\")||\n ($skewness==\"1\")||($kurtosis==\"1\")||($P1==\"1\")||($P5==\"1\")||($P10==\"1\")||($Q1==\"1\")||($median==\"1\")||($median1==\"1\")||($Q3==\"1\")||($P90==\"1\")||($P95==\"1\")||($P99==\"1\")||($qrange==\"1\"))\n#if($histogramInset == \"1\") inset \n#if($mean == \"1\") mean #end\n#if($std == \"1\") std #end\n#if($min == \"1\") min #end\n#if($max == \"1\") max #end\n#if($median == \"1\" || $median1 == \"1\") median #end\n#if($nobs == \"1\") n #end\n#if($missing == \"1\") nmiss #end\n#if($stdErr == \"1\") stderr #end\n#if($variance == \"1\") var #end\n#if($mode == \"1\") mode #end\n#if($range == \"1\") range #end\n#if($sum == \"1\") sum #end\n#if($sumWeights == \"1\") sumwgt #end\n#if($coef == \"1\") cv #end\n#if($skewness == \"1\") skewness #end\n#if($kurtosis == \"1\") kurtosis #end\n#if($P1 == \"1\") p1 #end\n#if($P5 == \"1\") p5 #end\n#if($P10 == \"1\") p10 #end\n#if($Q1 == \"1\") q1 #end\n#if($Q3 == \"1\") q3 #end\n#if($P90 == \"1\") p90 #end\n#if($P95 == \"1\") p95 #end\n#if($P99 == \"1\") p99 #end\n#if($qrange == \"1\") qrange #end\n/ position=#if($histogramInsetPosition == \"histogramInsetPositionN\")n\n#elseif ($histogramInsetPosition == \"histogramInsetPositionNE\")ne\n#elseif ($histogramInsetPosition == \"histogramInsetPositionE\")e\n#elseif ($histogramInsetPosition == \"histogramInsetPositionSE\")se\n#elseif ($histogramInsetPosition == \"histogramInsetPositionS\")s\n#elseif ($histogramInsetPosition == \"histogramInsetPositionSW\")sw\n#elseif ($histogramInsetPosition == \"histogramInsetPositionW\")w\n#elseif ($histogramInsetPosition == \"histogramInsetPositionNW\")nw\n#end\n;\n#end\n#end ##end inset stmt\n#if($freqVariable.size() > 0) freq #foreach($item in $freqVariable)$item #end; #end\n#if($weightVariable.size() > 0) weight #foreach($item in $weightVariable)$item #end; #end\n#if($byVariables.size() > 0) by #foreach($item in $byVariables) $item #end; #end\nrun;\n#end\n######## Histogram ########\n\n######## Comparative Box plot ########\n#if($boxPlot==\"1\")\n#foreach($item1 in $classVariables)\n#if($byVariables.size() > 0)\nproc sort data=$DATASOURCE out=WORK.TempSorted2236;\n by #foreach($item in $byVariables) $item #end $item1;\nrun;\nproc boxplot data=WORK.TempSorted2236;\n#else\nproc sort data=$DATASOURCE out=WORK.TempSorted2236;\n by $item1;\nrun;\nproc boxplot data=WORK.TempSorted2236;\n#end ##end sorting and proc boxplot\n plot (#foreach($item in $analysisVariables) $item #end)*$item1 / boxstyle=schematic;\n#if(($mean==\"1\")||($std==\"1\")||($min==\"1\")||($max==\"1\")||($nobs==\"1\"))\n#if($boxplotInset == \"1\") inset \n#if($mean == \"1\") mean #end\n#if($std == \"1\") stddev #end\n#if($min == \"1\") min #end\n#if($max == \"1\") max #end\n#if($nobs == \"1\") nobs #end\n/ position=#if($boxplotInsetPosition == \"boxplotInsetPositionN\")n\n#elseif ($boxplotInsetPosition == \"boxplotInsetPositionNE\")ne\n#elseif ($boxplotInsetPosition == \"boxplotInsetPositionE\")e\n#elseif ($boxplotInsetPosition == \"boxplotInsetPositionSE\")se\n#elseif ($boxplotInsetPosition == \"boxplotInsetPositionS\")s\n#elseif ($boxplotInsetPosition == \"boxplotInsetPositionSW\")sw\n#elseif ($boxplotInsetPosition == \"boxplotInsetPositionW\")w\n#elseif ($boxplotInsetPosition == \"boxplotInsetPositionNW\")nw\n#end\n;\n#end\n#end ##end inset stmt\n#if(($mean==\"1\")||($std==\"1\")||($min==\"1\")||($max==\"1\")||($nobs==\"1\")||($Q1==\"1\")||($median==\"1\")||($median1==\"1\")||($Q3==\"1\")||($range==\"1\"))\n#if($boxplotGroupInset == \"1\") insetgroup\n#if($mean == \"1\") mean #end\n#if($std == \"1\") stddev #end\n#if($min == \"1\") min #end\n#if($max == \"1\") max #end\n#if($nobs == \"1\") n #end\n#if($Q1 == \"1\") q1 #end\n#if($median == \"1\" || $median1 == \"1\") q2 #end\n#if($Q3 == \"1\") q3 #end\n#if($range == \"1\") range #end\n/ position=#if($boxplotGroupInsetPosition == \"boxplotGroupInsetPositionTop\") top\n#elseif ($boxplotGroupInsetPosition == \"boxplotGroupInsetPositionTopoff\") topoff\n#elseif ($boxplotGroupInsetPosition == \"boxplotGroupInsetPositionAxis\") axis\n#elseif ($boxplotGroupInsetPosition == \"boxplotGroupInsetPositionBottom\") bottom\n#end\n;\n#end\n#end ##end insetgroup stmt\n#if($byVariables.size() > 0) by #foreach($item in $byVariables) $item #end; #end\nrun;\n#end ##end foreach($item1 in $classVariables) //avaiable only when class variable is specified\n#end\n######## Comparative Box plot ########\n\n######## Histogram and Box plot ########\n#if($comboPlot==\"1\")\n/* $commentTemplate */\nproc template;\n define statgraph histobox;\n dynamic AVAR ByVarInfo\n #if($statsSelected==\"1\")\n #if($comboPlotInset == \"1\") \n #if($mean == \"1\") __mean #end\n #if($std == \"1\") __std #end\n #if($min == \"1\") __min #end\n #if($max == \"1\") __max #end\n #if($median == \"1\" || $median1 == \"1\") __median #end\n #if($nobs == \"1\") __n #end\n #if($missing == \"1\") __nmiss #end\n #if($stdErr == \"1\") __stderr #end\n #if($variance == \"1\") __var #end\n #if($mode == \"1\") __mode #end\n #if($range == \"1\") __range #end\n #if($sum == \"1\") __sum #end\n #if($sumWeights == \"1\") __sumwgt #end\n #if($conf == \"1\") __lclm __uclm #end\n #if($coef == \"1\") __cv #end\n #if($skewness == \"1\") __skewness #end\n #if($kurtosis == \"1\") __kurtosis #end\n #if($P1 == \"1\") __p1 #end\n #if($P5 == \"1\") __p5 #end\n #if($P10 == \"1\") __p10 #end\n #if($Q1 == \"1\") __q1 #end\n #if($Q3 == \"1\") __q3 #end\n #if($P90 == \"1\") __p90 #end\n #if($P95 == \"1\") __p95 #end\n #if($P99 == \"1\") __p99 #end\n #if($qrange == \"1\") __qrange #end\n #end\n #end;\n begingraph;\n entrytitle \"$commentDistributionOf \" AVAR ByVarInfo;\n layout lattice / rows=2 columndatarange=union\n rowgutter=0 rowweights=(0.75 0.25);\n layout overlay / yaxisopts=(offsetmax=0.1) xaxisopts=(display=none);\n #if($statsSelected==\"1\")\n #if($comboPlotInset == \"1\") \n layout gridded / columns=2 border=on autoalign=(topright topleft);\n %let _lft = halign=left;\n %let _rgt = halign=right;\n #if($mean == \"1\") entry &_lft \"Mean\"; entry &_rgt __mean; #end\n #if($std == \"1\") entry &_lft \"Std Dev\"; entry &_rgt __std; #end\n #if($min == \"1\") entry &_lft \"Min\"; entry &_rgt __min; #end\n #if($max == \"1\") entry &_lft \"Max\"; entry &_rgt __max; #end\n #if($median == \"1\" || $median1 == \"1\") entry &_lft \"Median\"; entry &_rgt __median; #end\n #if($nobs == \"1\") entry &_lft \"N\"; entry &_rgt __n; #end\n #if($missing == \"1\") entry &_lft \"NMiss\"; entry &_rgt __nmiss; #end\n #if($stdErr == \"1\") entry &_lft \"Std Err\"; entry &_rgt __stderr; #end\n #if($variance == \"1\") entry &_lft \"Variance\"; entry &_rgt __var; #end\n #if($mode == \"1\") entry &_lft \"Mode\"; entry &_rgt __mode; #end\n #if($range == \"1\") entry &_lft \"Range\"; entry &_rgt __range; #end\n #if($sum == \"1\") entry &_lft \"Sum\"; entry &_rgt __sum; #end\n #if($sumWeights == \"1\") entry &_lft \"Sum Weights\"; entry &_rgt __sumwgt; #end\n #if($conf == \"1\") entry &_lft \"LCLM\"; entry &_rgt __lclm; entry &_lft \"UCLM\"; entry &_rgt __uclm; #end\n #if($coef == \"1\") entry &_lft \"CV\"; entry &_rgt __cv; #end\n #if($skewness == \"1\") entry &_lft \"Skewness\"; entry &_rgt __skewness; #end\n #if($kurtosis == \"1\") entry &_lft \"Kurtosis\"; entry &_rgt __kurtosis; #end\n #if($P1 == \"1\") entry &_lft \"P1\"; entry &_rgt __p1; #end\n #if($P5 == \"1\") entry &_lft \"P5\"; entry &_rgt __p5; #end\n #if($P10 == \"1\") entry &_lft \"P10\"; entry &_rgt __p10; #end\n #if($Q1 == \"1\") entry &_lft \"Q1\"; entry &_rgt __q1; #end\n #if($Q3 == \"1\") entry &_lft \"Q3\"; entry &_rgt __q3; #end\n #if($P90 == \"1\") entry &_lft \"P90\"; entry &_rgt __p90; #end\n #if($P95 == \"1\") entry &_lft \"P95\"; entry &_rgt __p95; #end\n #if($P99 == \"1\") entry &_lft \"P99\"; entry &_rgt __p99; #end\n #if($qrange == \"1\") entry &_lft \"Q Range\"; entry &_rgt __qrange; #end \n endlayout;\n #end\n #end ##end inset statistics block\n histogram AVAR / #if($freqVariable.size()>0) freq=#foreach($item in $freqVariable)$item #end #end;\n endlayout;\n layout overlay /;\n BoxPlot Y=AVAR / orient=horizontal #if($freqVariable.size()>0) freq=#foreach($item in $freqVariable)$item #end #end;\n endlayout;\n endlayout;\n endgraph;\n end;\nrun;\n\n/* $commentMacro */\n%macro byGroupHistobox(data=, level=, num_level=, byVars=, num_byvars=, avar=);\n %do j=1 %to &num_byvars;\n %let varName&j=%scan(%str(&byVars), &j);\n %end;\n\n %do i=1 %to &num_level;\n /* $commentGroup */\n data _null_;\n i=&i;\n set &level point=i; \n %do j=1 %to &num_byvars;\n call symputx(\"x&j\",strip(&&varName&j),'l');\n %end;\n stop; \n run;\n /* $commentSQL */\n %let dsid=%sysfunc(open(&data));\n %let whereClause=;\n %do j=1 %to %eval(&num_byvars-1);\n %let varnum=%sysfunc(varnum(&dsid,&&varName&j));\n %if(%sysfunc(vartype(&dsid, &varnum))=C) %then\n %let whereClause=&whereClause.&&varName&j.=\"&&x&j\"%str( and );\n %else\n %let whereClause=&whereClause.&&varName&j.=&&x&j.%str( and );\n %end;\n %let varnum=%sysfunc(varnum(&dsid,&&varName&num_byvars));\n %if(%sysfunc(vartype(&dsid, &varnum))=C) %then\n %let whereClause=&whereClause.&&varName&num_byvars.=\"&&x&num_byvars\";\n %else\n %let whereClause=&whereClause.&&varName&num_byvars.=&&x&num_byvars;\n %let rc=%sysfunc(close(&dsid));\n /* $commentSubset */\n proc sql noprint;\n create table WORK.tempData as\n select *\n from &data\n where &whereClause\n ;\n quit;\n /* $commentPlotInfo */\n %let groupInfo=;\n %do j=1 %to %eval(&num_byvars-1);\n %let groupInfo=&groupInfo.&&varName&j.=&&x&j%str( );\n %end;\n %let groupInfo=&groupInfo.&&varName&num_byvars.=&&x&num_byvars;\n#if($statsSelected==\"1\")\n #if($comboPlotInset == \"1\") \n /* $commentInset */\n data _null_;\n i=&i;\n set #if($outputDS==\"1\") $outputDSName #else WORK.TempOutputDS6221 #end point=i;\n #if($mean == \"1\") call symputx(\"__mean\",strip(&avar._Mean),'l'); #end\n #if($std == \"1\") call symputx(\"__std\",strip(&avar._StdDev),'l'); #end\n #if($min == \"1\") call symputx(\"__min\",strip(&avar._Min),'l'); #end\n #if($max == \"1\") call symputx(\"__max\",strip(&avar._Max),'l'); #end\n #if($median == \"1\" || $median1 == \"1\") call symputx(\"__median\",strip(&avar._Median),'l'); #end\n #if($nobs == \"1\") call symputx(\"__n\",strip(&avar._N),'l'); #end\n #if($missing == \"1\") call symputx(\"__nmiss\",strip(&avar._NMiss),'l'); #end\n #if($stdErr == \"1\") call symputx(\"__stderr\",strip(&avar._StdErr),'l'); #end\n #if($variance == \"1\") call symputx(\"__var\",strip(&avar._Var),'l'); #end\n #if($mode == \"1\") call symputx(\"__mode\",strip(&avar._Mode),'l'); #end\n #if($range == \"1\") call symputx(\"__range\",strip(&avar._Range),'l'); #end\n #if($sum == \"1\") call symputx(\"__sum\",strip(&avar._Sum),'l'); #end\n #if($sumWeights == \"1\") call symputx(\"__sumwgt\",strip(&avar._SumWgt),'l'); #end\n #if($conf == \"1\") call symputx(\"__lclm\",strip(&avar._LCLM),'l'); call symputx(\"__uclm\",strip(&avar._UCLM),'l'); #end\n #if($coef == \"1\") call symputx(\"__cv\",strip(&avar._CV),'l'); #end\n #if($skewness == \"1\") call symputx(\"__skewness\",strip(&avar._Skew),'l'); #end\n #if($kurtosis == \"1\") call symputx(\"__kurtosis\",strip(&avar._Kurt),'l'); #end\n #if($P1 == \"1\") call symputx(\"__p1\",strip(&avar._P1),'l'); #end\n #if($P5 == \"1\") call symputx(\"__p5\",strip(&avar._P5),'l'); #end\n #if($P10 == \"1\") call symputx(\"__p10\",strip(&avar._P10),'l'); #end\n #if($Q1 == \"1\") call symputx(\"__q1\",strip(&avar._Q1),'l'); #end\n #if($Q3 == \"1\") call symputx(\"__q3\",strip(&avar._Q3),'l'); #end\n #if($P90 == \"1\") call symputx(\"__p90\",strip(&avar._P90),'l'); #end\n #if($P95 == \"1\") call symputx(\"__p95\",strip(&avar._P95),'l'); #end\n #if($P99 == \"1\") call symputx(\"__p99\",strip(&avar._P99),'l'); #end\n #if($qrange == \"1\") call symputx(\"__qrange\",strip(&avar._QRange),'l'); #end\n stop; \n run;\n #end\n#end\n /* $commentComboPlot */\n proc sgrender data=WORK.tempData template=histobox;\n dynamic AVAR=\"&avar\" ByVarInfo=\" (&groupInfo)\"\n #if($statsSelected==\"1\")\n #if($comboPlotInset == \"1\") \n #if($mean == \"1\") __mean=\"&__mean\" #end\n #if($std == \"1\") __std=\"&__std\" #end\n #if($min == \"1\") __min=\"&__min\" #end\n #if($max == \"1\") __max=\"&__max\" #end\n #if($median == \"1\" || $median1 == \"1\") __median=\"&__median\" #end\n #if($nobs == \"1\") __n=\"&__n\" #end\n #if($missing == \"1\") __nmiss=\"&__nmiss\" #end\n #if($stdErr == \"1\") __stderr=\"&__stderr\" #end\n #if($variance == \"1\") __var=\"&__var\" #end\n #if($mode == \"1\") __mode=\"&__mode\" #end\n #if($range == \"1\") __range=\"&__range\" #end\n #if($sum == \"1\") __sum=\"&__sum\" #end\n #if($sumWeights == \"1\") __sumwgt=\"&__sumwgt\" #end\n #if($conf == \"1\") __lclm=\"&__lclm\" __uclm=\"&__uclm\" #end\n #if($coef == \"1\") __cv=\"&__cv\" #end\n #if($skewness == \"1\") __skewness=\"&__skewness\" #end\n #if($kurtosis == \"1\") __kurtosis=\"&__kurtosis\" #end\n #if($P1 == \"1\") __p1=\"&__p1\" #end\n #if($P5 == \"1\") __p5=\"&__p5\" #end\n #if($P10 == \"1\") __p10=\"&__p10\" #end\n #if($Q1 == \"1\") __q1=\"&__q1\" #end\n #if($Q3 == \"1\") __q3=\"&__q3\" #end\n #if($P90 == \"1\") __p90=\"&__p90\" #end\n #if($P95 == \"1\") __p95=\"&__p95\" #end\n #if($P99 == \"1\") __p99=\"&__p99\" #end\n #if($qrange == \"1\") __qrange=\"&__qrange\" #end\n #end\n #end;\n run; \n %end;\n%mend;\n\n#if(!($outputDS==\"1\") && $comboPlotInset==\"1\")\n#if($statsSelected==\"1\")\n/* $commentNoOutput */\n#if($byVariables.size() > 0)\nproc means data=WORK.TempSorted2236\n#else\nproc means data=$DATASOURCE\n#end\n chartype\n#if($divisor)\n#if($divisor.equalsIgnoreCase(\"DDOF\")) vardef=df #end\n#if($divisor.equalsIgnoreCase(\"DNOO\")) vardef=n #end\n#if($divisor.equalsIgnoreCase(\"DSOWM1\")) vardef=wdf #end\n#if($divisor.equalsIgnoreCase(\"DSOW\")) vardef=wgt #end\n#end\n#if($divisorWgt)\n#if($divisorWgt.equalsIgnoreCase(\"DDOFWGT\")) vardef=df #end\n#if($divisorWgt.equalsIgnoreCase(\"DNOOWGT\")) vardef=n #end\n#if($divisorWgt.equalsIgnoreCase(\"DSOWM1WGT\")) vardef=wdf #end\n#if($divisorWgt.equalsIgnoreCase(\"DSOWWGT\")) vardef=wgt #end\n#end\n#if($conf == \"1\") alpha=$alpha #end\n#if($quantile) #if($quantile.equalsIgnoreCase(\"QMOS\")) \n qmethod=os\n#else\n qmethod=p2\n#end\n#end \n#if($quantileWgt) #if($quantileWgt.equalsIgnoreCase(\"QMOSWGT\")) \n qmethod=os\n#else\n qmethod=p2\n#end\n#end\nnoprint;\n var #foreach($item in $analysisVariables) $item #end;\n output out=WORK.TempOutputDS6221 (replace=yes)\n#if($mean == \"1\") mean= #end\n#if($std == \"1\") std= #end\n#if($min == \"1\") min= #end\n#if($max == \"1\") max= #end\n#if($median == \"1\" || $median1 == \"1\") median= #end\n#if($nobs == \"1\") n= #end\n#if($missing == \"1\") nmiss= #end\n#if($stdErr == \"1\") stderr= #end\n#if($variance == \"1\") var= #end\n#if($mode == \"1\") mode= #end\n#if($range == \"1\") range= #end\n#if($sum == \"1\") sum= #end\n#if($sumWeights == \"1\") sumwgt= #end\n#if($conf == \"1\") lclm= uclm= #end\n#if($coef == \"1\") cv= #end\n#if($skewness == \"1\") skewness= #end\n#if($kurtosis == \"1\") kurtosis= #end\n#if($P1 == \"1\") p1= #end\n#if($P5 == \"1\") p5= #end\n#if($P10 == \"1\") p10= #end\n#if($Q1 == \"1\") q1= #end\n#if($Q3 == \"1\") q3= #end\n#if($P90 == \"1\") p90= #end\n#if($P95 == \"1\") p95= #end\n#if($P99 == \"1\") p99= #end\n#if($qrange == \"1\") qrange= #end / autoname;\n#if($freqVariable.size() > 0) freq #foreach($item in $freqVariable)$item #end; #end\n#if($weightVariable.size() > 0) weight #foreach($item in $weightVariable)$item #end; #end\n#if($byVariables.size() > 0)\n by #foreach($item in $byVariables) $item #end;\n#end\nrun;\n#end\n#end\n\n#foreach($item in $analysisVariables) \n#if($byVariables.size() > 0) \n #set($byVars=\"\") #foreach($item1 in $byVariables) #set($byVars=\"$byVars$item1 \") #end\n #foreach($item1 in $byVariables) #if(!$foreach.hasNext) #set($lastByVar=$item1) #end #end\n #set($num_byvars=$byVariables.size())\n\n/* $commentGenerate */\n%let num_level=0;\ndata WORK.level(keep=$byVars unique_level);\n set WORK.TempSorted2236 end=lastobs;\n retain unique_level 0;\n by $byVars;\n if last.$lastByVar then do;\n unique_level+1;\n output;\n end;\n if lastobs then call symputx('num_level', strip(put(unique_level, best.)),'l'); \nrun;\n%byGroupHistobox(data=WORK.TempSorted2236, level=WORK.level, num_level=&num_level, byVars=$byVars, num_byvars=$num_byvars, avar=$item);\n#else ##no by groups\n#if($statsSelected==\"1\")\n #if($comboPlotInset == \"1\") \n /* $commentInset */\n data _null_;\n set #if($outputDS==\"1\") $outputDSName #else WORK.TempOutputDS6221 #end;\n #if($mean == \"1\") call symputx(\"__mean\",strip(${item}_Mean),'l'); #end\n #if($std == \"1\") call symputx(\"__std\",strip(${item}_StdDev),'l'); #end\n #if($min == \"1\") call symputx(\"__min\",strip(${item}_Min),'l'); #end\n #if($max == \"1\") call symputx(\"__max\",strip(${item}_Max),'l'); #end\n #if($median == \"1\" || $median1 == \"1\") call symputx(\"__median\",strip(${item}_Median),'l'); #end\n #if($nobs == \"1\") call symputx(\"__n\",strip(${item}_N),'l'); #end\n #if($missing == \"1\") call symputx(\"__nmiss\",strip(${item}_NMiss),'l'); #end\n #if($stdErr == \"1\") call symputx(\"__stderr\",strip(${item}_StdErr),'l'); #end\n #if($variance == \"1\") call symputx(\"__var\",strip(${item}_Var),'l'); #end\n #if($mode == \"1\") call symputx(\"__mode\",strip(${item}_Mode),'l'); #end\n #if($range == \"1\") call symputx(\"__range\",strip(${item}_Range),'l'); #end\n #if($sum == \"1\") call symputx(\"__sum\",strip(${item}_Sum),'l'); #end\n #if($sumWeights == \"1\") call symputx(\"__sumwgt\",strip(${item}_SumWgt),'l'); #end\n #if($conf == \"1\") call symputx(\"__lclm\",strip(${item}_LCLM),'l'); call symputx(\"__uclm\",strip(${item}_UCLM),'l'); #end\n #if($coef == \"1\") call symputx(\"__cv\",strip(${item}_CV),'l'); #end\n #if($skewness == \"1\") call symputx(\"__skewness\",strip(${item}_Skew),'l'); #end\n #if($kurtosis == \"1\") call symputx(\"__kurtosis\",strip(${item}_Kurt),'l'); #end\n #if($P1 == \"1\") call symputx(\"__p1\",strip(${item}_P1),'l'); #end\n #if($P5 == \"1\") call symputx(\"__p5\",strip(${item}_P5),'l'); #end\n #if($P10 == \"1\") call symputx(\"__p10\",strip(${item}_P10),'l'); #end\n #if($Q1 == \"1\") call symputx(\"__q1\",strip(${item}_Q1),'l'); #end\n #if($Q3 == \"1\") call symputx(\"__q3\",strip(${item}_Q3),'l'); #end\n #if($P90 == \"1\") call symputx(\"__p90\",strip(${item}_P90),'l'); #end\n #if($P95 == \"1\") call symputx(\"__p95\",strip(${item}_P95),'l'); #end\n #if($P99 == \"1\") call symputx(\"__p99\",strip(${item}_P99),'l'); #end\n #if($qrange == \"1\") call symputx(\"__qrange\",strip(${item}_QRange),'l'); #end\n stop; \n run;\n #end\n#end ##end inset statistics block\nproc sgrender data=$DATASOURCE template=histobox;\n dynamic AVAR=\"$item\" ByVarInfo=\"\"\n#if($statsSelected==\"1\")\n#if($comboPlotInset == \"1\") \n #if($mean == \"1\") __mean=\"&__mean\" #end\n #if($std == \"1\") __std=\"&__std\" #end\n #if($min == \"1\") __min=\"&__min\" #end\n #if($max == \"1\") __max=\"&__max\" #end\n #if($median == \"1\" || $median1 == \"1\") __median=\"&__median\" #end\n #if($nobs == \"1\") __n=\"&__n\" #end\n #if($missing == \"1\") __nmiss=\"&__nmiss\" #end\n #if($stdErr == \"1\") __stderr=\"&__stderr\" #end\n #if($variance == \"1\") __var=\"&__var\" #end\n #if($mode == \"1\") __mode=\"&__mode\" #end\n #if($range == \"1\") __range=\"&__range\" #end\n #if($sum == \"1\") __sum=\"&__sum\" #end\n #if($sumWeights == \"1\") __sumwgt=\"&__sumwgt\" #end\n #if($conf == \"1\") __lclm=\"&__lclm\" __uclm=\"&__uclm\" #end\n #if($coef == \"1\") __cv=\"&__cv\" #end\n #if($skewness == \"1\") __skewness=\"&__skewness\" #end\n #if($kurtosis == \"1\") __kurtosis=\"&__kurtosis\" #end\n #if($P1 == \"1\") __p1=\"&__p1\" #end\n #if($P5 == \"1\") __p5=\"&__p5\" #end\n #if($P10 == \"1\") __p10=\"&__p10\" #end\n #if($Q1 == \"1\") __q1=\"&__q1\" #end\n #if($Q3 == \"1\") __q3=\"&__q3\" #end\n #if($P90 == \"1\") __p90=\"&__p90\" #end\n #if($P95 == \"1\") __p95=\"&__p95\" #end\n #if($P99 == \"1\") __p99=\"&__p99\" #end\n #if($qrange == \"1\") __qrange=\"&__qrange\" #end\n#end\n#end ##end inset statistics block\n;\nrun; \n#end ##end byVar block\n#end\n#end\n######## Histogram and Box plot ########\n\n######## Clean up ########\n#if($byVariables.size() > 0 || (!($outputDS==\"1\") && $comboPlotInset==\"1\") || $comboPlot==\"1\" || $boxPlot==\"1\")\nproc datasets library=WORK noprint;\n delete #if($byVariables.size() > 0) TempSorted2236 \n #if($comboPlot==\"1\") level tempData #end \n #else \n #if($boxPlot==\"1\") TempSorted2236 #end\n #if($comboPlot==\"1\") tempData #end \n #end \n #if(!($outputDS==\"1\") && $comboPlotInset==\"1\") TempOutputDS6221 #end;\nrun;\n#end\n######## Clean up ########\n]]>\n\n","dependencies":["d581a2cc-447e-40b1-8b77-10f5291e050c"]},"properties":{"left":"278","top":"40","width":"100","height":"60","region":"output","fillcolor":"#E0E6F1","linecolor":"#6882a3","tooltip":"要約統計量","portsonly":true,"key":"control","visible":true,"icon":"sasStatisticsIcon"}},{"version":2,"type":"task","id":"500db21f-dbf7-40f6-8ab0-78c282e27f67","name":"","label":"散布図","description":"散布図は、2 変数または 3 変数の関係を示します。散布図により、データポイントのパターンや集中度が明らかになります。","created":1660788759505,"modified":1660788863123,"notes":"","parameters":{"server":"","target":"com.sas.ep.sascoder.execution.producers.VPP","action":"runSASCode","priority":"Reserved","code":"/*\n *\n * SAS Studio 3.8 によって生成されたタスクコード \n *\n * 生成日 '2022/08/18 11:14' \n * 生成者 'u62013505' \n * 生成に使用されたサーバー 'ODAWS01-APSE1-2.ODA.SAS.COM' \n * 生成に使用された SAS プラットフォーム 'Linux LIN X64 3.10.0-1062.12.1.el7.x86_64' \n * 生成に使用された SAS バージョン '9.04.01M6P11072018' \n * 生成に使用されたブラウザ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36' \n * 生成に使用された Web クライアント 'https://odamid-apse1-2.oda.sas.com/SASStudio/main?locale=ja&zone=GMT%252B09%253A00&https%3A%2F%2Fodamid-apse1-2.oda.sas.com%2FSASStudio%2Findex=' \n *\n */\n\nods graphics / reset width=6.4in height=4.8in imagemap;\n\nproc sort data=WORK.IMPORT1 out=_ScatterTaskData;\n\tby '定期預金契約'n;\nrun;\n\nproc sgplot data=_ScatterTaskData;\n\tby '定期預金契約'n;\n\tscatter x='CP中連絡回数'n y='最終会話時間'n /;\n\txaxis grid;\n\tyaxis grid;\nrun;\n\nods graphics / reset;\n\nproc datasets library=WORK noprint;\n\tdelete _ScatterTaskData;\n\trun;","ctm":"./resources/sas/models/ScatterPlot.xml","serializedData":"\n \n 散布図\n 散布図は、2 変数または 3 変数の関係を示します。散布図により、データポイントのパターンや集中度が明らかになります。\n 2820D18B-86C3-4708-94C1-35D506C15A10\n SGPLOT\n 3.8\n \n SAS Studio タスクリファレンスガイド\n \n \n SGPLOT プロシジャ\n \n \n SAS チュートリアル\n \n \n \n \n \n \n \n X 軸:\n Y 軸:\n グループ:\n グループ分析:\n マーカーのラベル:\n URL 変数:\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n The maximum value of x axis should be greater than or equal to the minimum value of x axis.\n \n \n The maximum value of y axis should be greater than or equal to the minimum value of y axis.\n \n \n Logarithmic axes cannot be used with linear regression fits.\n \n \n \n 0) #set($X=$xVar.get(0)) #end\n#if($yVar.size()>0) #set($Y=$yVar.get(0)) #end\n#if($groupVar.size()>0) #set($GRP=$groupVar.get(0)) #end\n#if($byVar.size()>0) #set($BY=$byVar.get(0)) #end\n#if($labelVar.size()>0) #set($LBL=$labelVar.get(0)) #end\n#if($urlVar.size()>0) #set($URL=$urlVar.get(0)) #end\n\n##--Set Graph Size--##\n#if($dimType==\"in\")\n #set($WIDTH=\"$inchWidth$dimType\")\n #set($HEIGHT=\"$inchHeight$dimType\")\n#end\n\n#if($dimType==\"cm\")\n #set($WIDTH=\"$cmWidth$dimType\")\n #set($HEIGHT=\"$cmHeight$dimType\")\n#end\n\n#if($dimType==\"px\")\n #set($WIDTH=\"$pixelWidth$dimType\")\n #set($HEIGHT=\"$pixelHeight$dimType\")\n#end\n\n##--Set output size and loessmaxobs--##\nods graphics / reset width=$WIDTH height=$HEIGHT #if($loess=='1' && $dataSource.getRowsCount()>5000) loessmaxobs=$dataSource.getRowsCount() #end imagemap;\n\n#if($BY)\n##--Sort data by BY variable--##\nproc sort data=$dataSource out=_ScatterTaskData;\n by $BY;\nrun;\n#end\n\n##--SGPLOT proc statement--##\nproc sgplot data=#if($BY) _ScatterTaskData #else $dataSource #end#if($dataSource.getWhereClause()!=\"\")(where=($dataSource.getWhereClause())) #end;\n \n#if($BY)\n##--BY Variable--##\n by $BY;\n#end\n\n##--Build quoted strings for title and footnote to clean up any quotes provided by user--##\n#if($titleString!=\"\") #set($qTitleString=$CTMUtil.doubleQuoteString($titleString)) #end\n#if($footnoteString!=\"\") #set($qFootnoteString=$CTMUtil.doubleQuoteString($footnoteString)) #end\n\n##--TITLE and FOOTNOTE--##\n#set($pt=\"pt\")\n#if($titleString!=\"\") \n #set($titleSizePt=\"$titleSize$pt\")\n title height=$titleSizePt $qTitleString;\n#end\n#if($footnoteString!=\"\" || ($dataSource.getWhereClause()!=\"\" && $includeAsFootnote=='1'))\n #set($footSizePt=\"$footnoteSize$pt\")\n #if($dataSource.getWhereClause()!=\"\" && $includeAsFootnote=='1') footnote justify=left height=$footSizePt\n #set($whereStr=\"$whereClause $dataSource.getWhereClause()\") $CTMUtil.doubleQuoteString($whereStr);\n #end\n\n #if($footnoteString!=\"\")\n footnote2 justify=left height=$footSizePt $qFootnoteString;\n #end\n#end\n\n##--Fit plot settings--##\n#if($regression=='1')\n reg x=$X y=$Y / nomarkers\n #if($GRP) group=$GRP #end\n #if($degreeReg!='1') degree=$degreeReg #end\n #if($regConfLevelCombo!=\"confLevelNoneChoice\") \n cli\n #if($regConfLevelCombo==\"confLevel90Choice\") alpha=0.10\n #elseif($regConfLevelCombo==\"confLevel95Choice\") alpha=0.05\n #else alpha=0.01\n #end\n #end;\n#end\n\n#if($loess=='1')\n loess x=$X y=$Y / nomarkers\n #if($GRP) group=$GRP #end\n #if($loessSmooth=='1') smooth=$loessSmoothValue #end\n #if($loessConfLevelCombo!=\"confLevelNoneChoice\") \n clm \n #if($loessConfLevelCombo==\"confLevel90Choice\") alpha=0.10\n #elseif($loessConfLevelCombo==\"confLevel95Choice\") alpha=0.05\n #else alpha=0.01\n #end\n #end;\n#end\n\n#if($pbSpline=='1') \n pbspline x=$X y=$Y / nomarkers\n #if($GRP) group=$GRP #end\n #if($degreeSpline!='3') degree=$degreeSpline #end\n #if($splineConfLevelCombo!=\"confLevelNoneChoice\") \n cli\n #if($splineConfLevelCombo==\"confLevel90Choice\") alpha=0.10\n #elseif($splineConfLevelCombo==\"confLevel95Choice\") alpha=0.05\n #else alpha=0.01\n #end\n #end;\n#end\n\n##--Scatter plot settings--##\nscatter x=$X y=$Y / \n#if($GRP) group=$GRP #end\n#if($LBL) datalabel=$LBL #end\n#if($URL) url=$URL #end\n#if($SETATTRS=='Yes') markerattrs=(\n #if($markerSymbol!='auto') symbol=$markerSymbol #end\n #if($useColor=='1' && $markerColor!='none') color=$markerColor #end\n #if($markerSize!='7') size=$markerSize #end)\n#end\n#if($markerLabelSize && $markerLabelSize!='')datalabelattrs=(size=$markerLabelSize) #end\n#if($plotTrans!='0') transparency=$plotTrans #end\n;\n\n#set($XAXIS=0)\n#if($showXGrid=='1' || $displayXLabel!='defaultLabel' || $logXAxis=='1' || $labelRotation=='1' || $xAxisMin=='1' || $xAxisMax=='1') #set($XAXIS=1) #end\n#if($XAXIS=='1')\n##--X Axis--##\n xaxis\n #if($xAxisMin=='1') min=$xAxisMinValue #end\n #if($xAxisMax=='1') max=$xAxisMaxValue #end\n #if($showXGrid=='1') grid #end\n #if($displayXLabel=='noLabel') display=(nolabel) #end\n #if($displayXLabel=='customLabel' && $xLabel.length()>0) label=$CTMUtil.doubleQuoteString($xLabel) #end\n #if($logXAxis=='1')\n type=log #if($logBaseComboX!='10') logbase=$logBaseComboX #end\n #end\n #if($labelRotation=='1') valuesrotate=#if($tickRotate=='diagonalRotation') diagonal #else vertical #end #end\n;\n#end\n\n#set($YAXIS=0)\n#if($showYGrid=='1' || $displayYLabel!='defaultLabel' || $logYAxis=='1' || $yAxisMin=='1' || $yAxisMax=='1') #set($YAXIS=1) #end\n#if($YAXIS=='1')\n##--Y Axis--##\n yaxis\n #if($yAxisMin=='1') min=$yAxisMinValue #end\n #if($yAxisMax=='1') max=$yAxisMaxValue #end\n #if($showYGrid=='1') grid #end\n #if($displayYLabel=='noLabel') display=(nolabel) #end\n #if($displayYLabel=='customLabel') label=$CTMUtil.doubleQuoteString($yLabel) #end\n #if($logYAxis=='1')\n type=log #if($logBaseComboY!='10') logbase=$logBaseComboY #end\n #end\n;\n#end\n\n#if($X && $xRefLine=='1')\n##--X Axis Reference Line--##\n refline #if($X.get('type')=='Char') $CTMUtil.doubleQuoteString($xRefLineLevel) #else $xRefLineValue #end /\n axis=x lineattrs=(thickness=2 color=blue)\n #if($X.get('type')=='Char' && $xRefLineOffset!='0') discreteoffset=$xRefLineOffset #end\n\tlabel#if($xRefLabel=='xRefCustom')=$CTMUtil.doubleQuoteString($xRefCustomLabel) #end\n labelattrs=(color=blue)\n;\n#end\n\n#if($Y && $yRefLine=='1')\n##--Y Axis Reference Line--##\n refline #if($Y.get('type')=='Char') $CTMUtil.doubleQuoteString($yRefLineLevel) #else $yRefLineValue #end /\n axis=y lineattrs=(thickness=2 color=green)\n #if($Y.get('type')=='Char' && $yRefLineOffset!='0') discreteoffset=$yRefLineOffset #end\n\tlabel#if($yRefLabel=='yRefCustom')=$CTMUtil.doubleQuoteString($yRefCustomLabel) #end\n labelattrs=(color=green)\n;\n#end\n\n##--Legend Settings--##\n#if($GRP)\n #if($legendLoc && $legendLoc=='inside')\n keylegend / location=$legendLoc;\n #end\n#end\nrun;\n\n##--Clean up--##\nods graphics / reset;\n#if($titleString!=\"\") title; #end\n#if($footnoteString!=\"\" || ($dataSource.getWhereClause()!=\"\" && $includeAsFootnote=='1'))\n #if($dataSource.getWhereClause()!=\"\" && $includeAsFootnote=='1') footnote; #end\n #if($footnoteString!=\"\") footnote2; #end\n#end\n\n#if($BY)\nproc datasets library=WORK noprint; \n delete _ScatterTaskData; \nrun;\n#end\n]]>\n\n","dependencies":["d581a2cc-447e-40b1-8b77-10f5291e050c"]},"properties":{"left":"278","top":"150","width":"100","height":"60","region":"output","fillcolor":"#E0E6F1","linecolor":"#6882a3","tooltip":"散布図","portsonly":true,"key":"control","visible":true,"icon":"sasScatterPlotIcon"}},{"version":2,"type":"task","id":"4b6bd6da-efd4-4bfb-827c-05cd473919d5","name":"","label":"データ探索","description":"データ探索タスクは、選択した変数間の関係の探索に使用できるグラフを提供します。","created":1660788785590,"modified":1660788916410,"notes":"","parameters":{"server":"","target":"com.sas.ep.sascoder.execution.producers.VPP","action":"runSASCode","priority":"Reserved","code":"/*\n *\n * SAS Studio 3.8 によって生成されたタスクコード \n *\n * 生成日 '2022/08/18 11:15' \n * 生成者 'u62013505' \n * 生成に使用されたサーバー 'ODAWS01-APSE1-2.ODA.SAS.COM' \n * 生成に使用された SAS プラットフォーム 'Linux LIN X64 3.10.0-1062.12.1.el7.x86_64' \n * 生成に使用された SAS バージョン '9.04.01M6P11072018' \n * 生成に使用されたブラウザ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36' \n * 生成に使用された Web クライアント 'https://odamid-apse1-2.oda.sas.com/SASStudio/main?locale=ja&zone=GMT%252B09%253A00&https%3A%2F%2Fodamid-apse1-2.oda.sas.com%2FSASStudio%2Findex=' \n *\n */\n\noptions validvarname=any;\nods noproctitle;\nods graphics / imagemap=on;\n\n/* 散布図行列マクロ */\n%macro scatterPlotMatrix(xVars=, title=, groupVar=);\n\tproc sgscatter data=WORK.IMPORT1;\n\t\tmatrix &xVars / %if(&groupVar ne %str()) %then\n\t\t\t%do;\n\t\t\t\tgroup=&groupVar legend=(sortorder=ascending) %end;\n\t\tdiagonal=(histogram);\n\t\ttitle &title;\n\trun;\n\n\ttitle;\n%mend scatterPlotMatrix;\n\n%scatterPlotMatrix(xVars='年間平均残高'n '最終連絡日'n '最終会話時間'n 'CP中連絡回数'n '最終連絡日数'n \n\t'CP前連絡回数'n, title=\"定期預金契約 でグループ化された散布図行列\", groupVar='定期預金契約'n);","ctm":"./resources/sas/models/DataExploration.xml","serializedData":"\n \n データ探索\n データ探索タスクは、選択した変数間の関係の探索に使用できるグラフを提供します。\n e5929f47-9122-4e2d-9a87-f490dbd02db2\n SGSCATTER UNIVARIATE FREQ BOXPLOT\n 3.8\n \n SAS Studio タスクリファレンスガイド\n \n \n SGSCATTER プロシジャ\n \n \n UNIVARIATE プロシジャ\n \n \n FREQ プロシジャ\n \n \n BOXPLOT プロシジャ\n \n \n SAS チュートリアル\n \n \n \n \n \n \n 連続変数:\n 分類変数:\n グループ分析:\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Select at least one continuous variable or two classification variables if no continuous variable is selected.\n \n \n Click to select at least one plot.\n \n \n Select at least one response variable.\n \n \n 0) || $showMosaicPlot==\"1\" || $showComboPlot==\"1\" || $showHistogram==\"1\" || $showBoxPlot==\"1\")\nods noproctitle;\n#end\n#if($showScatterplotMatrix==\"1\" || $showPairwiseScatterplot==\"1\" || ($showRegressionScatterplot==\"1\" && $responseVar.size()>0) || $showComboPlot==\"1\" || $showHistogram==\"1\" || $showBoxPlot==\"1\")\nods graphics / imagemap=on;\n#end\n#if($showScatterplotMatrix==\"1\" || $showPairwiseScatterplot==\"1\" || $showRegressionScatterplot==\"1\" || $showMosaicPlot==\"1\" || $showComboPlot==\"1\" || $showHistogram==\"1\")\n#if($continuousVariable.size()>=1 || $classVariable.size()>=1)\n#if($byVariable.size()>0)\nproc sort data=$dataset out=WORK.TempSorted5215;\n by #foreach($item in $byVariable) $item #end;\nrun;\n#end\n#end\n#end\n\n######## Scatter plot matrix macro ########\n#if($showScatterplotMatrix==\"1\")\n/* $scatterPlotMatrixMsg */\n%macro scatterPlotMatrix(xVars=, title=, groupVar=);\n## Scatterplot matrix is used to explore relationships among numerical variables ##\n#if($byVariable.size()>0)\n proc sgscatter data=WORK.TempSorted5215;\n#else\n proc sgscatter data=$dataset;\n#end\n matrix &xVars / \n %if(&groupVar ne %str()) %then %do;\n group=&groupVar legend=(sortorder=ascending)\n %end;\n #if($diagonalHistogram==\"1\" || $diagonalKernel==\"1\" || $diagonalNormal==\"1\")\n diagonal=(#if($diagonalHistogram==\"1\") histogram #end #if($diagonalKernel==\"1\") kernel #end #if($diagonalNormal==\"1\") normal #end)\n #end\n #if($scatterplotMatrixEllipse==\"1\")\n ellipse=(type=predicted #if($scatterplotMatrixProbLevel && $scatterplotMatrixProbLevel!=\"\") alpha=$MathTool.div($MathTool.sub(1000,$MathTool.mul(1000, $MathTool.toDouble($scatterplotMatrixProbLevel))),1000) #end)\n #end;\n title &title;\n #if($byVariable.size() > 0)\n by #foreach($item in $byVariable) $item #end;\n #end\nrun;\ntitle;\n%mend scatterPlotMatrix;\n#end\n######## Scatter plot matrix macro ########\n\n######## Pairwise scatter plot macro ########\n#if($showPairwiseScatterplot==\"1\")\n/* $pairwiseScatterPlotMsg */\n%macro pairwiseScatterplot(xVar=, yVar=, title=, groupVar=);\n#if($byVariable.size()>0)\n proc sgscatter data=WORK.TempSorted5215;\n#else\n proc sgscatter data=$dataset;\n#end\n plot (&yVar)*(&xVar) / \n%if(&groupVar ne %str()) %then %do;\n group=&groupVar legend=(sortorder=ascending)\n%end;\n#if($pairwiseScatterplotEllipse==\"1\")\n ellipse=(type=predicted #if($pairwiseScatterplotProbLevel && $pairwiseScatterplotProbLevel!=\"\") alpha=$MathTool.div($MathTool.sub(1000,$MathTool.mul(1000, $MathTool.toDouble($pairwiseScatterplotProbLevel))),1000) #end)\n#end;\ntitle &title;\n#if($byVariable.size() > 0)\n by #foreach($item in $byVariable) $item #end;\n#end\nrun;\ntitle;\n%mend pairwiseScatterplot;\n#end\n######## Pairwise scatter plot macro ########\n\n######## Regression scatter plot macro ########\n#if($showRegressionScatterplot==\"1\" && $responseVar.size()>0)\n/* $regScatterPlotMsg */\n%macro regressionScatterplot(xVar=, yVar=, title=, groupVar=);\n#if($byVariable.size()>0)\n proc sgscatter data=WORK.TempSorted5215;\n#else\n proc sgscatter data=$dataset;\n#end\n plot (&yVar)*(&xVar) / \n%if(&groupVar ne %str()) %then %do;\n group=&groupVar legend=(sortorder=ascending)\n%end;\n#if($regFitScatter==\"1\") reg #end #if($loessFitScatter==\"1\") loess=(lineattrs=(pattern=ShortDash)) #end #if($splineFitScatter==\"1\") pbspline=(lineattrs=(pattern=MediumDash)) #end;\ntitle &title;\n#if($byVariable.size() > 0)\n by #foreach($item in $byVariable) $item #end;\n#end\nrun;\ntitle;\n%mend regressionScatterplot;\n#end\n######## Regression scatter plot macro ########\n\n######## Mosaic plot macros ########\n#if($showMosaicPlot==\"1\" && $classVariable.size()>2)\n/* $mosaicPlotMsg */\n%macro byGroupMosaic(rowVar=, colVar=);\nods graphics / imagemap=off;\n#if($byVariable.size()>0)\nproc freq data=WORK.TempSorted5215;\n#else\nproc freq data=$dataset;\n#end\n ods select MosaicPlot;\n tables (&rowVar)*(&colVar) / plots=mosaicplot( \n #if($mosaicTileColor==\"pearsonResidu\")\n colorstat=pearsonres\n #elseif($mosaicTileColor==\"stdResidu\")\n colorstat=stdres\n #end\n #if($sqaureMosaic==\"1\") square #end\n );\n #if($byVariable.size() > 0)\n by #foreach($item in $byVariable) $item #end;\n #end\nrun;\nods graphics / imagemap=on;\n%mend byGroupMosaic;\n#end\n\n#if($showMosaicPlot==\"1\" && $classVariable.size()>2)\n%macro mosaicPlot(numClassVars=, classVarList=);\n%local i j colVar rowVar;\n## Mosaic plot for class variables ##\n%if(&numClassVars>=2) %then %do;\n %do i=1 %to %eval(&numClassVars-1);\n %do j=%eval(&i+1) %to %eval(&numClassVars);\n %let colVar=%scan(%str(&classVarList), &i, %str( ));\n %let rowVar=%scan(%str(&classVarList), &j, %str( ));\n %byGroupMosaic(rowVar=&rowVar, colVar=&colVar);\n %end;\n %end;\n%end;\n%mend mosaicPlot;\n#end\n######## Mosaic plot macro ########\n\n######## Histogram and Box plot template ########\n#if($showComboPlot==\"1\")\n## GTL to construct combination histogram/boxplot ##\n/* $histBoxTemplateMsg */\nproc template;\n define statgraph histobox;\n dynamic AVAR;\n begingraph;\n entrytitle \"$distributionOfMsg \" eval(catq('q',colname(AVAR)));\n layout lattice / rows=2 columndatarange=union\n rowgutter=0 rowweights=(0.75 0.25);\n layout overlay / yaxisopts=(offsetmax=0.1) xaxisopts=(display=none);\n layout gridded / columns=2 border=on autoalign=(topright topleft);\n #if($comboPlotInset==\"1\")\n %let _lft = halign=left;\n %let _rgt = halign=right;\n entry &_lft \"Mean\"; entry &_rgt eval(strip(put(mean(AVAR), best.)));\n entry &_lft \"Std Dev\"; entry &_rgt eval(strip(put(stddev(AVAR), best.)));\n entry &_lft \"N\"; entry &_rgt eval(strip(put(n(AVAR), best.)));\n #end\n endlayout;\n histogram AVAR /;\n endlayout;\n layout overlay /;\n BoxPlot Y=AVAR / orient=horizontal;\n endlayout;\n endlayout;\n endgraph;\n end;\nrun;\n#end\n######## Histogram and Box plot macro ########\n\n######## Histogram macros ########\n#if($showHistogram==\"1\")\n/* $histogramMsg */\n%macro DEHisto(data=, avar=, classVar=);\n%local i numAVars numCVars cVar cVar1 cVar2;\n%let numAVars=%Sysfunc(countw(%str(&avar), %str( ), %str(q)));\n%let numCVars=%Sysfunc(countw(%str(&classVar), %str( ), %str(q)));\n%if(&numAVars>0 & &numCVars>0) %then %do;\n %if(&numCVars=1) %then %do; ## one class variable ##\n %let cVar=%scan(%str(&classVar), 1, %str( ), %str(q));\n proc sql noprint;\n select count(distinct &cVar) into :nrows from &data;\n quit;\n /* $onewayHistMsg */\n ## One-way histogram ##\n proc univariate data=&data noprint;\n var &avar;\n class &cVar;\n histogram &avar / nrows=&nrows\n #if($normalDensityPlot == \"1\") normal(noprint)#end\n #if($kernelDensityPlot == \"1\") kernel#end\n ;\n #if($histogramInset == \"1\") inset mean std n / position=ne; #end\n run;\n %end;\n %else %do; ## two class variables ##\n /* $onewayHistClassMsg */\n ## One-way histogram of each class variable ##\n %do i=1 %to %eval(&numCVars);\n %let cVar=%scan(%str(&classVar), &i, %str( ), %str(q));\n proc sql noprint;\n select count(distinct &cVar) into :nrows from &data;\n quit;\n proc univariate data=&data noprint;\n var &avar;\n class &cVar;\n histogram &avar / nrows=&nrows\n #if($normalDensityPlot == \"1\") normal(noprint)#end\n #if($kernelDensityPlot == \"1\") kernel#end\n ;\n #if($histogramInset == \"1\") inset mean std n / position=ne; #end\n run; \n %end;\n /* $twowayHistMsg */\n ## Two-way histogram ##\n %let cVar1=%scan(%str(&classVar), 1, %str( ), %str(q));\n %let cVar2=%scan(%str(&classVar), 2, %str( ), %str(q));\n proc sql noprint;\n select count(distinct &cVar1) into :nrows from &data;\n quit;\n proc sql noprint;\n select count(distinct &cVar2) into :ncols from &data;\n quit;\n proc univariate data=&data noprint;\n var &avar;\n class &cVar1 &cVar2;\n histogram &avar / nrows=&nrows ncols=&ncols\n #if($normalDensityPlot == \"1\") normal(noprint)#end\n #if($kernelDensityPlot == \"1\") kernel#end\n ;\n #if($histogramInset == \"1\") inset mean std n / position=ne; #end\n run; \n %end;\n%end;\n%mend DEHisto;\n\n#if($byVariable.size()>0)\n/* $byGrpHistMsg */\n%macro byGroupDEHisto(data=, level=, num_level=, byVars=, num_byvars=, avar=, classVar=);\n%local i j dsid whereClause varnum rc groupInfo;\n%do j=1 %to &num_byvars;\n %let varName&j=%scan(%str(&byVars), &j);\n%end;\n\n%do i=1 %to &num_level;\n /* $histGetGrpMsg */\n ## Get group variable values. ##\n data _null_;\n i=&i;\n set &level point=i; \n %do j=1 %to &num_byvars;\n call symputx(\"x&j\",strip(&&varName&j),'l');\n %end;\n stop; \n run;\n /* $histBuildSqlMsg */\n ## Build proc sql where clause. ##\n %let dsid=%sysfunc(open(&data));\n %let whereClause=;\n %do j=1 %to %eval(&num_byvars-1);\n %let varnum=%sysfunc(varnum(&dsid,&&varName&j));\n %if(%sysfunc(vartype(&dsid, &varnum))=C) %then\n %let whereClause=&whereClause.&&varName&j.=\"&&x&j\"%str( and );\n %else\n %let whereClause=&whereClause.&&varName&j.=&&x&j.%str( and );\n %end;\n %let varnum=%sysfunc(varnum(&dsid,&&varName&num_byvars));\n %if(%sysfunc(vartype(&dsid, &varnum))=C) %then\n %let whereClause=&whereClause.&&varName&num_byvars.=\"&&x&num_byvars\";\n %else\n %let whereClause=&whereClause.&&varName&num_byvars.=&&x&num_byvars;\n %let rc=%sysfunc(close(&dsid));\n /* $histSubsetMsg */\n ## Subsetting the data set. ##\n proc sql noprint;\n create table WORK.tempData as\n select *\n from &data\n where &whereClause\n ;\n quit;\n /* $histBuildPlotMsg */\n ## Build plot group info. ##\n %let groupInfo=;\n %do j=1 %to %eval(&num_byvars-1);\n %let groupInfo=&groupInfo.&&varName&j.=&&x&j%str( );\n %end;\n %let groupInfo=&groupInfo.&&varName&num_byvars.=&&x&num_byvars;\n /* $histByGrpMsg */\n ## Create by group Histogram. ##\n title (&groupInfo);\n %DEHisto(data=WORK.tempData, avar=&avar, classVar=&classVar);\n title;\n%end;\n%mend byGroupDEHisto;\n#end ##end if($byVariable.size()>0)\n#end\n######## Histogram macros ########\n\n######## Scatter plot matrix ########\n#if($showScatterplotMatrix==\"1\")\n#set($contVarList=\"\") #foreach($item in $continuousVariable) #if($foreach.hasNext) #set($contVarList=\"$contVarList$item \") #else #set($contVarList=\"$contVarList$item\") #end #end\n#if($classVariable.size()>0)\n #foreach($item in $classVariable) \n #set($spMatrixTitle=$scatterplotMatrixTitleTemp.replace(\"{1}\", \"$item.get('value')\"))\n %scatterPlotMatrix(xVars=$contVarList, title=$CTMUtil.doubleQuoteString($spMatrixTitle), groupVar=$item); \n #end\n#else\n %scatterPlotMatrix(xVars=$contVarList, title=$CTMUtil.doubleQuoteString($scatterplotMatrixTitle), groupVar=);\n#end\n#end\n######## Scatter plot matrix ########\n\n######## Pairwise scatter plot ########\n#if($showPairwiseScatterplot==\"1\")\n#set($pairScatterTitle='')\n#foreach($yVar in $continuousVariable)\n #foreach($xVar in $continuousVariable)\n #if($yVar!=$xVar)\n #if($classVariable.size()>0)\n #foreach($groupVar in $classVariable)\n #set($pairScatterTitle=$pairwiseScatterGrpTitleTemp.replace(\"{1}\", \"$yVar.get('value')\").replace(\"{2}\",\"$xVar.get('value')\").replace(\"{3}\",\"$groupVar.get('value')\"))\n %pairwiseScatterplot(xVar=$xVar, yVar=$yVar, title=$CTMUtil.doubleQuoteString($pairScatterTitle), groupVar=$groupVar);\n #end\n #else\n #set($pairScatterTitle=$pairwiseScatterTitleTemp.replace(\"{1}\", \"$yVar.get('value')\").replace(\"{2}\",\"$xVar.get('value')\"))\n %pairwiseScatterplot(xVar=$xVar, yVar=$yVar, title=$CTMUtil.doubleQuoteString($pairScatterTitle));\n #end\n #end\n #end \n#end\n#end\n######## Pairwise scatter plot ########\n\n######## Regression scatter plot ########\n#if($showRegressionScatterplot==\"1\" && $responseVar.size()>0)\n#set($regScatterTitle='')\n#foreach($yVar in $responseVar)\n #foreach($xVar in $continuousVariable)\n #if($yVar.toString()!=$xVar.toString())\n #if($classVariable.size()>0)\n #foreach($groupVar in $classVariable)\n #set($regScatterTitle=$pairwiseScatterGrpTitleTemp.replace(\"{1}\", \"$yVar.get('value')\").replace(\"{2}\",\"$xVar.get('value')\").replace(\"{3}\",\"$groupVar.get('value')\"))\n %regressionScatterplot(xVar=$xVar, yVar=$yVar, title=$CTMUtil.doubleQuoteString($regScatterTitle), groupVar=$groupVar);\n #end\n #else\n #set($regScatterTitle=$pairwiseScatterTitleTemp.replace(\"{1}\", \"$yVar.get('value')\").replace(\"{2}\",\"$xVar.get('value')\"))\n %regressionScatterplot(xVar=$xVar, yVar=$yVar, title=$CTMUtil.doubleQuoteString($regScatterTitle));\n #end\n #end\n #end \n#end\n#end\n######## Regression scatter plot ########\n\n######## Mosaic plot ########\n#if($showMosaicPlot==\"1\")\n#if($classVariable.size()>2) \n #set($classVarList=\"\") #foreach($item in $classVariable) #if($foreach.hasNext) #set($classVarList=\"$classVarList$item \") #else #set($classVarList=\"$classVarList$item\") #end #end\n%mosaicPlot(numClassVars=$classVariable.size(), classVarList=$classVarList);\n#elseif($classVariable.size()==2) \nods graphics / imagemap=off;\nproc freq data=$dataset;\n ods select MosaicPlot;\n tables $classVariable.get(0)*$classVariable.get(1)\n / plots=mosaicplot#if($mosaicTileColor==\"pearsonResidu\" || $mosaicTileColor==\"stdResidu\" || $sqaureMosaic==\"1\")\n(\n #if($mosaicTileColor==\"pearsonResidu\")\n colorstat=pearsonres\n #elseif($mosaicTileColor==\"stdResidu\")\n colorstat=stdres\n #end\n #if($sqaureMosaic==\"1\") square #end\n )\n#end\n;\nrun;\nods graphics / imagemap=on;\n#end\n#end ##end if($showMosaicPlot==\"1\")\n######## Mosaic plot ########\n\n######## Histogram ########\n#if($showHistogram == \"1\")\n#if($continuousVariable.size()>0 && $classVariable.size()>0)\n#set($avar=\"\") #foreach($item in $continuousVariable) #if($foreach.hasNext) #set($avar=\"$avar$item \") #else #set($avar=\"$avar$item\") #end #end\n#set($classVar=\"\") #foreach($item in $classVariable) #if($foreach.hasNext) #set($classVar=\"$classVar$item \") #else #set($classVar=\"$classVar$item\") #end #end\n#if($byVariable.size() > 0) \n#set($byVars=\"\") #foreach($item in $byVariable) #if($foreach.hasNext) #set($byVars=\"$byVars$item \") #else #set($byVars=\"$byVars$item\") #end #end\n#foreach($item in $byVariable) #if(!$foreach.hasNext) #set($lastByVar=$item) #end #end\n#set($num_byvars=$byVariable.size())\n%let num_level=0;\ndata WORK.level(keep=$byVars unique_level);\n set WORK.TempSorted5215 end=lastobs;\n retain unique_level 0;\n by $byVars;\n if last.$lastByVar then do;\n unique_level+1;\n output;\n end;\n if lastobs then call symputx('num_level', strip(put(unique_level, best.)),'l'); \nrun;\n%byGroupDEHisto(data=WORK.TempSorted5215, level=WORK.level, num_level=&num_level, byVars=$byVars, num_byvars=$num_byvars, avar=$avar, classVar=$classVar);\n#else ##no by groups\n %DEHisto(data=$dataset, avar=$avar, classVar=$classVar);\n#end ##end if($byVariable.size() > 0)\n#end\n#end\n######## Histogram ########\n\n######## One-way boxplot ########\n#if($showBoxPlot==\"1\")\n#if($classVariable.size()>0 && $continuousVariable.size()>0)\n#foreach($item1 in $classVariable)\n#if($byVariable.size() > 0)\nproc sort data=$dataset out=WORK.TempSorted4877;\n by #foreach($item in $byVariable) $item #end $item1;\nrun;\nproc boxplot data=WORK.TempSorted4877;\n#else\nproc sort data=$dataset out=WORK.TempSorted4877;\n by $item1;\nrun;\nproc boxplot data=WORK.TempSorted4877;\n#end ##end sorting and proc boxplot\n plot (#foreach($item in $continuousVariable) $item #end)*$item1 / boxstyle=schematic;\n#if($byVariable.size() > 0) by #foreach($item in $byVariable) $item #end; #end \nrun;\n#end ##end foreach($item1 in $classVariable) //avaiable only when class variable is specified\n#end\n#end\n######## One-way boxplot ########\n\n######## Histogram and Box plot ########\n#if($showComboPlot==\"1\")\n#if($continuousVariable.size()>0 && $classVariable.size()==0)\n#foreach($item in $continuousVariable) \n#if($byVariable.size() > 0) \nproc sgrender data=WORK.TempSorted5215 template=histobox;\n dynamic AVAR=$CTMUtil.quoteString($item.get('value'));\n by #foreach($item in $byVariable) $item #end;\nrun;\n#else\nproc sgrender data=$dataset template=histobox;\n dynamic AVAR=$CTMUtil.quoteString($item.get('value'));\nrun; \n#end ##end byVar block\n#end\n#end\n#end\n######## Histogram and Box plot ########\n\n######## Clean up ########\n#if(($showScatterplotMatrix==\"1\" || $showPairwiseScatterplot==\"1\" || $showRegressionScatterplot==\"1\" || $showMosaicPlot==\"1\" || $showComboPlot==\"1\" || $showHistogram==\"1\")\n || ($showBoxPlot==\"1\" && ($classVariable.size()>0 && $continuousVariable.size()>0)))\n#if($byVariable.size()>0)\nproc datasets library=WORK noprint;\n delete #if($showScatterplotMatrix==\"1\" || $showPairwiseScatterplot==\"1\" || $showRegressionScatterplot==\"1\" || $showMosaicPlot==\"1\" || $showComboPlot==\"1\" || $showHistogram==\"1\") \n TempSorted5215 #if($showHistogram==\"1\") level tempData #end #end \n #if($showBoxPlot==\"1\" && ($classVariable.size()>0 && $continuousVariable.size()>0)) TempSorted4877 #end;\nrun;\n#else\n#if($showBoxPlot==\"1\" && ($classVariable.size()>0 && $continuousVariable.size()>0))\nproc datasets library=WORK noprint;\n delete TempSorted4877;\nrun;\n#end\n#end\n#end\n######## Clean up ########\n]]>\n\n","dependencies":["d581a2cc-447e-40b1-8b77-10f5291e050c"]},"properties":{"left":"278","top":"260","width":"100","height":"60","region":"output","fillcolor":"#E0E6F1","linecolor":"#6882a3","tooltip":"データ探索","portsonly":true,"key":"control","visible":true,"icon":"sasVisualExplorationIcon"}},{"version":2,"type":"task","id":"e206b11c-f34b-4778-85ac-3dc99163913f","name":"","label":"棒グラフ","description":"棒グラフでは、グラフ変数の数値や統計量を比較します。棒グラフは、データの相対関係をさまざまな高さのバーを使用して示します。それぞれのバーは、データのカテゴリを示します。","created":1660788789209,"modified":1660788944857,"notes":"","parameters":{"server":"","target":"com.sas.ep.sascoder.execution.producers.VPP","action":"runSASCode","priority":"Reserved","code":"/*\n *\n * SAS Studio 3.8 によって生成されたタスクコード \n *\n * 生成日 '2022/08/18 11:15' \n * 生成者 'u62013505' \n * 生成に使用されたサーバー 'ODAWS01-APSE1-2.ODA.SAS.COM' \n * 生成に使用された SAS プラットフォーム 'Linux LIN X64 3.10.0-1062.12.1.el7.x86_64' \n * 生成に使用された SAS バージョン '9.04.01M6P11072018' \n * 生成に使用されたブラウザ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36' \n * 生成に使用された Web クライアント 'https://odamid-apse1-2.oda.sas.com/SASStudio/main?locale=ja&zone=GMT%252B09%253A00&https%3A%2F%2Fodamid-apse1-2.oda.sas.com%2FSASStudio%2Findex=' \n *\n */\n\nods graphics / reset width=6.4in height=4.8in imagemap;\n\nproc sgplot data=WORK.IMPORT1;\n\tvbar '前回CP結果'n / group='定期預金契約'n groupdisplay=cluster;\n\tyaxis grid;\nrun;\n\nods graphics / reset;","ctm":"./resources/sas/models/BarChart_940m2.xml","serializedData":"\n \n 棒グラフ\n 棒グラフでは、グラフ変数の数値や統計量を比較します。棒グラフは、データの相対関係をさまざまな高さのバーを使用して示します。それぞれのバーは、データのカテゴリを示します。\n A0EEED19-14E9-4AA8-9E3E-4F1B22B078F2\n SGPLOT\n 3.8\n \n SAS Studio タスクリファレンスガイド\n \n \n SGPLOT プロシジャ\n \n \n SAS チュートリアル\n \n \n \n \n \n \n \n カテゴリ:\n 変数:\n サブカテゴリ:\n URL 変数:\n グループ分析:\n 重み:\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n The maximum value of measure axis should be greater than or equal to the minimum value of measure axis.\n \n \n \n 0) #set($CAT=$category.get(0)) #end\n#if($measure.size()>0) #set($RESP=$measure.get(0)) #end\n#if($group.size()>0) #set($GRP=$group.get(0)) #end\n#if($urlVar.size()>0) #set($URL=$urlVar.get(0)) #end\n#if($byVar.size()>0) #set($BY=$byVar.get(0)) #end\n#if($weight.size()>0) #set($WGT=$weight.get(0)) #end\n\n##--Set Graph Size--##\n#if($dimType==\"in\")\n #set($WIDTH=\"$inchWidth$dimType\")\n #set($HEIGHT=\"$inchHeight$dimType\")\n#end\n\n#if($dimType==\"cm\")\n #set($WIDTH=\"$cmWidth$dimType\")\n #set($HEIGHT=\"$cmHeight$dimType\")\n#end\n\n#if($dimType==\"px\")\n #set($WIDTH=\"$pixelWidth$dimType\")\n #set($HEIGHT=\"$pixelHeight$dimType\")\n#end\n\n##--Set output size--##\nods graphics / reset width=$WIDTH height=$HEIGHT imagemap;\n\n#if($BY)\n##--Sort data by BY variable--##\nproc sort data=$dataSource out=_BarChartTaskData;\n by $BY;\nrun;\n#end\n\n##--SGPLOT proc statement--##\nproc sgplot data= #if($BY) _BarChartTaskData #else $dataSource #end#if($dataSource.getWhereClause()!=\"\")(where=($dataSource.getWhereClause())) #end;\n\n#if($BY)\n##--BY Variable--##\n by $BY;\n#end\n\n##--Build qouted strings for title and footnote to clean up any quotes provided by user--##\n#if($titleString!=\"\") #set($qTitleString=$CTMUtil.doubleQuoteString($titleString)) #end\n#if($footnoteString!=\"\") #set($qFootnoteString=$CTMUtil.doubleQuoteString($footnoteString)) #end\n\n##--TITLE and FOOTNOTE--##\n#set($pt=\"pt\")\n#if($titleString!=\"\") \n #set($titleSizePt=\"$titleSize$pt\")\n title height=$titleSizePt $qTitleString;\n#end\n#if($footnoteString!=\"\" || ($dataSource.getWhereClause()!=\"\" && $includeAsFootnote=='1'))\n #set($footSizePt=\"$footnoteSize$pt\")\n #if($dataSource.getWhereClause()!=\"\" && $includeAsFootnote=='1') footnote justify=left height=$footSizePt\n #set($whereStr=\"$whereClause $dataSource.getWhereClause()\") $CTMUtil.doubleQuoteString($whereStr);\n #end\n\n #if($footnoteString!=\"\")\n footnote2 justify=left height=$footSizePt $qFootnoteString;\n #end\n#end\n\n#if(($useColor && $useColor=='1') || $barTrans!='0') #set ($SETATTRS='Yes') \n#else #set($SETATTRS='No')\n#end\n##--Bar chart settings--##\n#if($barOrient=='vertical') vbar $CAT\n#else hbar $CAT\n#end / \n#if($RESP) response=$RESP #end\n#if($URL) url=$URL #end\n#if($GRP) \n group=$GRP groupdisplay=$groupDisplay\n#end\n#if($SETATTRS=='Yes') fillattrs=(\n #if($useColor=='1') color=$barColor #end \n\t#if($barTrans!='0') transparency=$barTrans #end) \n#end\n#if($barStatLabels=='1') datalabel #end\n#if($barLimits)\n #if($barLimits!='none')\n limits=$barLimits limitstat=$barLimitStat\n #if($barNumStdChkbox && $barNumStdChkbox=='1') numstd=$barNumStd #end\n #if($barLimitStat=='clm') \n ## Calculate alpha from confidence level\n #if($confLevelCombo==\"confLevel99Choice\") alpha=0.01 #elseif($confLevelCombo==\"confLevel90Choice\") alpha=0.10 \n #elseif($confLevelCombo==\"confLevelCustomChoice\") #if($confLevel!=95) alpha=%sysevalf((100-$confLevel)/100) #end\n #end\n #end\n #end\n#end\n#if($fillGradient=='1') fillType=gradient #end\n#if($RESP)\n #if($statChoiceResponse!='sum') stat=$statChoiceResponse #end\n#else\n #if($measureCombo!='freq') stat=$measureCombo #end\n#end\n#if($barSkin!='none') dataskin=$barSkin #end\n#if($RESP)\n #if($displayRespLabel1=='statsLabel') statlabel\n #elseif($displayRespLabel1=='noStatsLabel') nostatlabel\n #end\n#end\n#if($logAxis=='1') baseline=$logBaseline #end\n#if($WGT) weight=$WGT #end\n;\n\n#set($catAxis=0)\n#if($displayCatLabel!='defaultLabel' || $sortByData=='1' || $catReverse=='1' || $catLabelRotation=='1') #set($catAxis=1) #end\n#if($catAxis=='1')\n##--Category Axis--##\n #if($barOrient=='vertical') xaxis\n #else yaxis\n #end\n #if($sortByData=='1') discreteorder=data #end\n #if($catReverse=='1') reverse #end\n #if($displayCatLabel=='noLabel') display=(nolabel) #end\n #if($displayCatLabel=='customLabel') label=$CTMUtil.doubleQuoteString($catLabel) #end\n #if($catLabelRotation=='1') valuesrotate=#if($catTickRotate=='catDiagonalRotation') diagonal #else vertical #end #end\n;\n#end\n \n#set($respAxis=0)\n#if(($measureCombo=='measureChoiceVar' && $measure.size()>0 && ($displayRespLabel1=='noLabel' || $displayRespLabel1=='customLabel')) \n || ($measureCombo!='measureChoiceVar' && ($displayRespLabel2=='noLabel' || $displayRespLabel2=='customLabel')) \n || $showRespGrid=='1' || $logAxis=='1' || $respLabelRotation=='1' || $respAxisMin=='1' || $respAxisMax=='1') #set($respAxis=1) #end\n#if($respAxis=='1')\n##--Response Axis--##\n #if($barOrient=='vertical') yaxis\n #else xaxis\n #end\n #if($respAxisMin=='1') min=$respAxisMinValue #end\n #if($respAxisMax=='1') max=$respAxisMaxValue #end\n #if($showRespGrid=='1') grid #end\n #if(($measureCombo=='measureChoiceVar' && $measure.size()>0 && $displayRespLabel1=='noLabel') || ($measureCombo!='measureChoiceVar' && $displayRespLabel2=='noLabel')) display=(nolabel) #end\n #if(($measureCombo=='measureChoiceVar' && $measure.size()>0 && $displayRespLabel1=='customLabel') || ($measureCombo!='measureChoiceVar' && $displayRespLabel2=='customLabel')) label=$CTMUtil.doubleQuoteString($respLabel) #end\n #if($logAxis=='1')\n type=log #if($logBaseCombo!='10') logbase=$logBaseCombo #end\n #end\n #if($respLabelRotation=='1') valuesrotate=#if($respTickRotate=='respDiagonalRotation') diagonal #else vertical #end #end\n;\n#end\n\n#if($catRefLine=='1')\n##--Category Reference Line--##\n refline #if($CAT.get('type')=='Char') $CTMUtil.doubleQuoteString($catRefLineValue) #else $catRefLineValue #end /\n #if($barOrient=='vertical') axis=x\n #else axis=y\n #end \n lineattrs=(thickness=2 color=blue)\n\t#if($catRefLineOffset!='0') discreteoffset=$catRefLineOffset #end\n\tlabel#if($catRefLabel=='catRefCustom')=$CTMUtil.doubleQuoteString($catRefCustomLabel) #end\n labelattrs=(color=blue)\n;\n#end\n\n#if($respRefLine=='1')\n##--Response Reference Line--##\n refline $respRefLineValue /\n #if($barOrient=='vertical') axis=y\n #else axis=x\n #end\n lineattrs=(thickness=2 color=green)\n\tlabel#if($respRefLabel=='respRefCustom')=$CTMUtil.doubleQuoteString($respRefCustomLabel) #end\n labelattrs=(color=green)\n;\n#end\n\n#if($GRP && $legendLoc=='inside')\n##--Legend Settings--##\n keylegend / location=$legendLoc;\n#end\nrun;\n\n##--Clean up--##\nods graphics / reset;\n#if($titleString!=\"\") title; #end\n#if($footnoteString!=\"\" || ($dataSource.getWhereClause()!=\"\" && $includeAsFootnote=='1'))\n #if($dataSource.getWhereClause()!=\"\" && $includeAsFootnote=='1') footnote; #end\n #if($footnoteString!=\"\") footnote2; #end\n#end\n\n#if($BY)\nproc datasets library=WORK noprint; \n delete _BarChartTaskData; \nrun;\n#end\n]]>\n\n","dependencies":["d581a2cc-447e-40b1-8b77-10f5291e050c"]},"properties":{"left":"278","top":"370","width":"100","height":"60","region":"output","fillcolor":"#E0E6F1","linecolor":"#6882a3","tooltip":"棒グラフ","portsonly":true,"key":"control","visible":true,"icon":"sasBarChartIcon"}},{"version":2,"type":"task","id":"83ca109f-dfb7-4270-8c67-e6605658cbcb","name":"","label":"二項ロジスティック回帰分析","description":"二項ロジスティック回帰分析タスクは、二項応答のロジスティック回帰を実行します。","created":1660788793353,"modified":1660794033662,"notes":"","parameters":{"server":"","target":"com.sas.ep.sascoder.execution.producers.VPP","action":"runSASCode","priority":"Reserved","code":"/*\n *\n * SAS Studio 3.8 によって生成されたタスクコード \n *\n * 生成日 '2022/08/18 12:40' \n * 生成者 'u62013505' \n * 生成に使用されたサーバー 'ODAWS01-APSE1-2.ODA.SAS.COM' \n * 生成に使用された SAS プラットフォーム 'Linux LIN X64 3.10.0-1062.12.1.el7.x86_64' \n * 生成に使用された SAS バージョン '9.04.01M6P11072018' \n * 生成に使用されたブラウザ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36' \n * 生成に使用された Web クライアント 'https://odamid-apse1-2.oda.sas.com/SASStudio/main?locale=ja&zone=GMT%252B09%253A00&https%3A%2F%2Fodamid-apse1-2.oda.sas.com%2FSASStudio%2Findex=' \n *\n */\n\nods noproctitle;\nods graphics / imagemap=on;\n\nproc logistic data=WORK.IMPORT1 plots=(oddsratio(cldisplay=serifarrow) roc);\n\tclass '職業'n '結婚歴'n '学歴'n 'クレカ債務'n '住宅ローン'n '個人ローン'n '連絡手段'n '最終連絡月'n '前回CP結果'n \n\t\t/ param=glm;\n\tmodel '定期預金契約'n(event='yes')='職業'n '結婚歴'n '学歴'n 'クレカ債務'n '住宅ローン'n '個人ローン'n \n\t\t'連絡手段'n '最終連絡月'n '前回CP結果'n '年齢'n '年間平均残高'n '最終連絡日'n '最終会話時間'n 'CP中連絡回数'n \n\t\t'最終連絡日数'n 'CP前連絡回数'n / link=logit stb ctable technique=fisher;\nrun;","ctm":"./resources/sas/models/BinaryLogisticRegression.xml","serializedData":"\n \n 二項ロジスティック回帰分析\n 二項ロジスティック回帰分析タスクは、二項応答のロジスティック回帰を実行します。\n 13f33d27-fb8a-4835-8c5c-8a2e4a7d56c7\n LOGISTIC\n 3.8\n \n SAS Studio タスクリファレンスガイド\n \n \n LOGISTIC プロシジャ\n \n \n SAS チュートリアル\n \n \n \n \n \n \n 応答:\n イベント数:\n 試行数:\n 連続変数:\n 分類変数:\n オフセット変数:\n ラベルを含む変数:\n 度数カウント:\n 重み変数:\n グループ分析:\n 集計:\n 層化基準:\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Choice\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n The response variable can only have two non-missing levels. Select another response variable.\n \n \n Select at least one continuous or one classification variable.\n \n \n Add one or more effects to the model on the MODEL tab.\n \n \n Select one or more variables to aggregate subpopulations in the Goodness-of-fit group on the OPTIONS tab.\n \n \n \n Select at least one statistic to include in the output data set.\n \n \n Select exact tests for the intercept or one or more effects.\n \n \n 0)\n ## Extract nested effects for all levels of the hierarchy\n #if($numNestedLevels == 'all')\n #foreach( $layerNum in $modelEffect.levelInclusionIndices )\n ## extract outer terms (remember indexing in hierarchyTerms starts at 0)\n #set( $outerTerm = $modelEffect.hierarchyTerms[$layerNum] )\n #foreach( $subitem1 in $outerTerm )\n$CTMUtil.toSASName($subitem1)#if($foreach.count < $outerTerm.size())*#end#end\n(#foreach($subterm2 in $modelEffect.hierarchyTerms)\n #if($foreach.index < $layerNum)\n#foreach($subitem2 in $subterm2)\n$CTMUtil.toSASName($subitem2)#if($foreach.count < $subterm2.size())*#end#end#if($foreach.index < ($layerNum) - 1) #end\n #end\n #end)\n #end\n ## Extract nested effects for only the lowest level of the hierarchy (for subject and group effects)\n #elseif($numNestedLevels == 'one')\n ## Outer term corresponds to the last (lowest) in the hierarchy\n #set( $layerNum = $modelEffect.levelInclusionIndices[$MathTool.sub($modelEffect.levelInclusionIndices.size(), 1)] )\n #set( $outerTerm = $modelEffect.hierarchyTerms[$layerNum] )\n #foreach( $subitem1 in $outerTerm )\n$CTMUtil.toSASName($subitem1)#if($foreach.count < $outerTerm.size())*#end#end\n(#foreach($subterm2 in $modelEffect.hierarchyTerms)\n #if($foreach.index < $layerNum)\n#foreach($subitem2 in $subterm2)\n$CTMUtil.toSASName($subitem2)#if($foreach.count < $subterm2.size())*#end#end#if($foreach.index < ($layerNum) - 1) #end\n #end\n #end)\n #end\n\n ## Handle pre-UI5 nested effects\n #elseif($modelEffect.memberSet1.size() > 0)\n ## extract outer terms\n #foreach( $subitem1 in $modelEffect.memberSet1 )\n$CTMUtil.toSASName($subitem1)#if($foreach.count < $modelEffect.memberSet1.size())*#end#end\n(#foreach($subitem2 in $modelEffect.memberSet2)\n$CTMUtil.toSASName($subitem2)#if($foreach.count < $modelEffect.memberSet2.size())*#end#end)\n #end\n## handle 'main' or 'interaction' effects\n #else\n ## Extract effects from memberSet1\n #foreach( $subitem in $modelEffect.memberSet1 )\n$CTMUtil.toSASName($subitem)#if($foreach.count < $modelEffect.memberSet1.size())*#end#end\n #end\n#end\n\nods noproctitle;\nods graphics / imagemap=on;\n\n#if ($strataVariables.size() > 0 && $clparm )\n #set($clparm = $stratifiedClParm)\n #set($clodds = $stratifiedClodds)\n#end\n \n## Calculate alpha from confidence\n#if (!($clparm == 'noClChoice') || !($clodds == 'noClChoice'))\n #if ($confidence == \"confidence95\")#set( $alpha = 0.05 )\n #elseif ($confidence == \"confidence99\")#set( $alpha = 0.01 )\n #elseif ($confidence == \"confidence90\")#set( $alpha = 0.10 ) \n #else#set( $alpha = \"%sysevalf((100-$confidenceValue)/100)\" )\n #end\n#end\n\n#if ($byVariables.size() > 0)\nproc sort data=$dataset out=Work.SortTempTableSorted;\n #if ($dataset.getWhereClause() != '')\n where $dataset.getWhereClause();\n #end\n by #foreach( $item in $byVariables ) $item #end;\nrun;\nproc logistic data=Work.SortTempTableSorted\n#else\nproc logistic data=$dataset \n#end\n\n#if($plotsChoice=='noPlotsChoice') plots=none\n#else\n #if($plotsChoice=='allPlotsChoice' || $plotsChoice=='customPlotChoice' || $unpackPlots == 'unpackChoice' || ($maxpointsCombo && !($maxpointsCombo == 'maxpointsDefault')))\n plots\n #if($unpackPlots == 'unpackChoice' || (!($labelPlotsCombo=='noLabelChoice')&& ($influencePlot == '1' || $rocPlot == '1')) || ($maxpointsCombo && !($maxpointsCombo == 'maxpointsDefault'))) (\n #if($unpackPlots == 'unpackChoice')unpack#end\n #if($plotsChoice=='customPlotChoice' && ($influencePlot == '1' || $rocPlot == '1') && !($labelPlotsCombo=='noLabelChoice')) label#end\n #if($maxpointsCombo && !($maxpointsCombo == 'maxpointsDefault')) maxpoints=\n #if ($maxpointsCombo == 'maxpoints10000')10000\n #elseif ($maxpointsCombo == 'maxpointsNoLimit')none\n #elseif ($maxpointsCombo == 'maxpointsSpecify')$maxpointsValue\n #end\n #end\n)\n #end\n #if($plotsChoice=='allPlotsChoice')=all\n #elseif($plotsChoice=='customPlotChoice')\n #if ($influencePlot == 1 || $dfbetasPlot == 1 || $dpcPlot == 1 || \n $predPlot == 1 || $effectPlot == 1 || $oddsratioPlot == 1 || $rocPlot == 1)\n=(\n #if($influencePlot == 1) influence #end\n #if($dfbetasPlot == 1) dfbetas#end\n #if($dpcPlot == 1) dpc#end\n #if($predPlot == 1) phat#end\n #if($effectPlot == 1) effect#end\n #if($oddsratioPlot == 1) oddsratio(cldisplay=serifarrow#if($oddsratioClip==1) range=(0,2)#end)#end\n #if($rocPlot == 1) roc#if($labelPlotsCombo == 'valuesLabelChoice' && $idVariables.size() > 0)(id)#end#end\n)\n #end\n \n #end\n #end\n#end\n;\n\n#if ($byVariables.size() == 0 && $dataset.getWhereClause() != '')\n where $dataset.getWhereClause();\n#end\n\n#if ( $classVariables.size() > 0 ) \n class #foreach( $item in $classVariables ) $item #end / param= \n #if ($classParam == 'glmParamChoice')glm\n #elseif($classParam == 'effectsParamChoice')effect\n #elseif($classParam == 'refParamChoice')ref\n #end\n; \n#end\n \n model \n#if(!($eventTrialsData == '1')) \n #foreach( $item in $responseVariable ) $item#end(event=$CTMUtil.quoteString($referenceLevelCombo)) =\n#else\n #foreach( $item in $eventVariable ) $item #end / #foreach( $item in $trialsVariable ) $item #end = \n#end\n\n#if ($standardModel == 'mainEffectsChoice')\n #foreach( $item in $classVariables ) $item#end\n #foreach( $item in $continuousVariables ) $item#end\n /\n#elseif ($standardModel == 'mainNwayEffectsChoice')\n #foreach( $item in $classVariables ) $item#if( $foreach.hasNext ) |#end#end#if ($classVariables.size() > 0 && $continuousVariables.size() > 0) |#end#foreach( $item in $continuousVariables ) $item#if($foreach.count < $continuousVariables.size()) |#end#end @$nway\n /\n#elseif ($standardModel == 'customModelChoice')\n #if ( $modelBuilder.mixedEffectsModels )\n #foreach( $model in $modelBuilder.mixedEffectsModels )\n #if ($model.emtype=='FIXED')\n #if ( $model.modelEffects.size() > 0 )\n #foreach( $modelEffect in $model.modelEffects )\n #GenerateEffect( $modelEffect 'all' )\n #end\n #end \n/ \n #if ($model.intercept == \"False\" ) noint#end\n \n #end\n #end ## end #foreach( $model in $modelBuilder.mixedEffectsModels )\n #end ## end #if ( $modelBuilder.mixedEffectsModels ) \n#end\n \n## NOTE: THIS ARRANGEMENT ASSUMES THAT THERE IS ONLY ONE MODEL AND IT IS A FIXED EFFECTS MODEL\n## otherwise the following code up to the \";\" should be placed after \"/\" above\n#if(!($strataVariables.size() > 0))\n link=\n #if ($linkFx == \"logitChoice\") logit\n #elseif ($linkFx == \"probitChoice\") probit\n #elseif ($linkFx == \"cLogLogChoice\") cloglog\n #end\n#end\n #if ($influence == 1) influence#if($stdres == 1)(stdres)#end#end\n #if ($stb==1) stb#end\n #if ($expb==1) expb#end\n #if ($corrEst == 1) corrb #end\n #if ($covEst == 1) covb #end\n #if($clparm && !($clparm == 'noClChoice')) clparm=\n #if ($clparm == 'plClChoice') pl\n #elseif ($clparm == 'waldClChoice') wald\n #elseif ($clparm == 'bothClChoice') both\n #end\n #end\n #if($clodds && !($clodds == 'noClChoice')) clodds=\n #if ($clodds == 'plClChoice') pl\n #elseif ($clodds == 'waldClChoice') wald\n #elseif ($clodds == 'bothClChoice') both\n #end\n #end\n #if (($clparm && !($clparm == 'noClChoice')) || ($clodds && !($clodds == 'noClChoice'))) alpha=$alpha #end\n #if ($lackfit == 1) lackfit #end\n #if ($rsquare == 1) rsquare #end\n #if ($ctable==1) ctable#end\n #if ($pcorr==1) pcorr#end\n\n#if (!($selectionMethod == 'noneSelectionChoice'))\n selection=#if($selectionMethod == 'forwardChoice')forward slentry=$slEntry \n #elseif ($selectionMethod == 'backwardChoice')backward slstay=$slStay \n #elseif ($selectionMethod == 'fastBackwardChoice')backward fast slstay=$slStay\n #elseif ($selectionMethod == 'stepwiseChoice')stepwise slentry=$slEntry slstay=$slStay \n #elseif ($selectionMethod == 'fastStepwiseChoice')stepwise fast slentry=$slEntry slstay=$slStay \n #elseif ($selectionMethod == 'bestSubsetChoice')score\n #end ## end of #if($selectionMethod == 'forwardChoice')\n\n #if(!($selectionMethod == 'bestSubsetChoice'))\n #if($hierarchy == 1) hierarchy=single\n #else hierarchy=none\n #end\n #else best=$bestOpt\n #end \n#end ## end of #if (!($selectionMethod == 'noneSelectionChoice'))\n#if ($details == 1) details#end\n\n#if ($pearsonGOF == 1)\n #if($scaleCombo)\n #if ($scaleCombo == 'dscaleChoice') scale=deviance\n #elseif ($scaleCombo == 'pscaleChoice') scale=pearson\n #else scale=none\n #end\n #else scale=none\n #end\n #if ($aggregateVariables.size() > 0) aggregate=(#foreach( $item in $aggregateVariables ) $item #end)#end\n#end\n\n#if ($offsetVariable.size() > 0) offset=#foreach( $item in $offsetVariable ) $item #end #end\n\n#if($optMethod ) technique=\n #if ($optMethod == \"fisherChoice\") fisher\n #elseif ($optMethod == \"newtonChoice\") newton\n #end\n#end\n#if($maxiterCombo=='maxiterCustomChoice') maxiter=$maxiter#end\n; \n\n## LSMEANS\n #if($multCompare == 1 && $multCompareList.size() > 0)\n #if ($multCompareAlpha == \"alpha_05\") #set( $mcAlpha = 0.05 ) \n #elseif ($multCompareAlpha == \"alpha_01\") #set( $mcAlpha = 0.01 ) \n #elseif ($multCompareAlpha == \"alpha_10\") #set( $mcAlpha = 0.10 ) \n #elseif ($multCompareAlpha == 'multCompareAlphaSpecify') #set( $mcAlpha = $multCompareAlphaValue ) \n #end\n ## process choice in $multCompareList \n lsmeans \n #foreach( $modelEffect in $multCompareList )\n #GenerateEffect( $modelEffect 'all')\n #end\n / adjust=#if ($multCompareCombo == 'bonferroniChoice') bon pdiff=all \n #elseif ($multCompareCombo == 'nelsonChoice') nelson\n #elseif ($multCompareCombo == 'scheffeChoice') scheffe pdiff=all \n #elseif ($multCompareCombo == 'sidakChoice') sidak pdiff=all \n #elseif ($multCompareCombo == 'tukeyChoice') tukey pdiff=all \n #end \nalpha=$mcAlpha cl; \n #end\n \n#if ($exactTests == 1 && ($exactIntercept == 1 || $exactList.size() > 0))\n #if ($exactAlphaCombo == \"alpha_05\") #set( $exactAlpha = 0.05 ) \n #elseif ($exactAlphaCombo == \"alpha_01\") #set( $exactAlpha = 0.01 ) \n #elseif ($exactAlphaCombo == \"alpha_10\") #set( $exactAlpha = 0.10 ) \n #elseif ($exactAlphaCombo == 'exactAlphaSpecify') #set( $exactAlpha = $exactAlphaValue ) \n #end\n exact #if($exactIntercept == 1) intercept#end \n #foreach( $modelEffect in $exactList )\n #GenerateEffect( $modelEffect 'all' )\n #end\n / estimate=parm alpha=$exactAlpha;\n#end\n\n#if ($outputDS == '1')\n output out=$outputDSName\n #if($linp == 1) xbeta=xbeta_ #end\n #if($pred == 1) predicted=pred_ #end\n #if($clPred == 1) lower=lcl_ upper=ucl_ #end\n #if($pearson == 1) reschi=reschi_ #end\n #if($resdevChoice == 1) resdev=resdev_#end\n #if($reslikChoice == 1) reslik=reslik_#end\n #if($stdReschiChoice == 1) stdReschi=stdReschi_#end\n #if($stdResdevChoice == 1) stdResdev=stdResdev_#end\n #if($difChisqChoice == 1) difchisq=difchisq_#end\n #if($difDevChoice == 1) difdev=difdev_#end\n #if($leverageChoice == 1) h=leverage_#end\n #if($stdDfbetaChoice == 1) dfbetas=stdDfbeta_#end\n #if($stdXbetaChoice == 1) stdxbeta=stdXbeta_#end\n #if($predProbChoice == 1) predprobs=(\n #if($indivPredProbChoice == 1) individual#end\n #if($cumulPredProbChoice == 1) cumulative#end\n #if($cvPredProbChoice == 1)crossvalidate#end\n)\n #end\n #if($clPred == 1) #if ($outputConfidence == \"confidence95\") #set( $clAlpha = 0.05 ) #elseif ($outputConfidence == \"confidence99\") #set( $clAlpha = 0.01 ) #else #set( $clAlpha = 0.10 ) #end\n / alpha=$clAlpha\n #end\n;\n#end\n\n#if( $strataVariables.size() > 0 )\n strata #foreach( $item in $strataVariables ) $item #end;\n#end\n\n## SCORING\n#if($scoreDS == 1)\n score out=$scoreDSName;\n#end\n\n## SCORING CODE: write scoring code to the SAS log\n#if ($scoreCode == 1)\n code;\n#end\n#if( $idVariables && $idVariables.size() > 0 )\n id #foreach( $item in $idVariables ) $item #end;\n#end\n#if( $freqVariable.size() > 0 )\n freq #foreach( $item in $freqVariable ) $item #end;\n#end\n#if( $weightVariable.size() > 0 )\n weight #foreach( $item in $weightVariable ) $item #end;\n#end\n#if( $byVariables.size() > 0 )\n by #foreach( $item in $byVariables ) $item #end;\n#end\nrun;\n\n#if ($byVariables.size() > 0)\nproc delete data=Work.SortTempTableSorted;\nrun;\n#end\n\n]]>\n\n","dependencies":["d581a2cc-447e-40b1-8b77-10f5291e050c"]},"properties":{"left":"278","top":"480","width":"100","height":"60","region":"output","fillcolor":"#E0E6F1","linecolor":"#6882a3","tooltip":"二項ロジスティック回帰分析","portsonly":true,"key":"control","visible":true,"icon":"sasExposureAnalysisChartIcon"}},{"version":2,"type":"task","id":"be35b95e-1bdf-460f-88a3-c8ba94cb40ef","name":"","label":"K-Means クラスタリング","description":"K-Means クラスタリングタスクは、K-Means アルゴリズムを使用し間隔データのクラスタリングを実行します。","created":1661856326872,"modified":1661910357318,"notes":"","parameters":{"server":"","target":"com.sas.ep.sascoder.execution.producers.VPP","action":"runSASCode","priority":"Reserved","code":"/*\n *\n * SAS Studio 3.8 によって生成されたタスクコード \n *\n * 生成日 '2022/08/30 19:50' \n * 生成者 'u62013505' \n * 生成に使用されたサーバー 'ODAWS01-APSE1-2.ODA.SAS.COM' \n * 生成に使用された SAS プラットフォーム 'Linux LIN X64 3.10.0-1062.12.1.el7.x86_64' \n * 生成に使用された SAS バージョン '9.04.01M6P11072018' \n * 生成に使用されたブラウザ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36' \n * 生成に使用された Web クライアント 'https://odamid-apse1-2.oda.sas.com/SASStudio/main?locale=ja&zone=GMT%252B09%253A00&ticket=ST-112141-dxSjhqNDyVkpZfnUcQFa-cas' \n *\n */\n\nods noproctitle;\n\nproc stdize data=WORK.IMPORT1 out=Work._std_ method=range;\n\tvar '年齢'n '年間平均残高'n '最終連絡日'n '最終会話時間'n 'CP中連絡回数'n '最終連絡日数'n 'CP前連絡回数'n;\nrun;\n\nproc fastclus data=Work._std_ maxclusters=3;\n\tvar '年齢'n '年間平均残高'n '最終連絡日'n '最終会話時間'n 'CP中連絡回数'n '最終連絡日数'n 'CP前連絡回数'n;\nrun;\n\nproc delete data=Work._std_;\nrun;","ctm":"./resources/sas/models/KmeansClustering.xml","serializedData":"\n \n K-Means クラスタリング\n K-Means クラスタリングタスクは、K-Means アルゴリズムを使用し間隔データのクラスタリングを実行します。\n 814958c8-7556-4091-890a-6c14419517ab\n FASTCLUS\n 3.8\n \n SAS Studio タスクリファレンスガイド\n \n \n FASTCLUS プロシジャ\n \n \n SAS チュートリアル\n \n \n \n \n \n \n クラスタリングに使用する変数:\n 度数カウント:\n オブザベーションの識別:\n グループ分析:\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Specify either the maximum number of clusters or the minimum distance from a candidate seed to existing seeds in the Clustering methods group on the Options tab.\n \n \n Select at least one output data set when Suppress display of output is selected for Display statistics.\n \n \n 0)\nproc sort data=$dataset out=Work.TempDataSorted;\n #if ($dataset.getWhereClause() != '')\n where $dataset.getWhereClause();\n #end\n by #foreach( $item in $byVariables ) $item #end;\nrun;\n #set($_inputDataSet = \"Work.TempDataSorted\")\n #set($_work_sort_ = 1)\n \n #if ($useSeedsDataset == 1) \nproc sort data=$seedsDataset out=$seedsDataset;\n by #foreach( $item in $byVariables ) $item #end;\nrun;\n #end\n#end\n\n#if (!($intervalStdizeMethod == 'noStdChoice'))\nproc stdize data=$_inputDataSet out=Work._std_\n #if ($intervalStdizeMethod == 'stdDevChoice') method=std\n #elseif($intervalStdizeMethod == 'rangeChoice') method=range\n #end\n;\n #set($_inputDataSet = \"Work._std_\")\n #set($_work_std_ = 1)\n\n #if($intervalVariables.size() > 0)\n var #foreach( $item in $intervalVariables ) $item #end;\n #end\n\n #if( $freqVariable.size() > 0 )\n freq #foreach( $item in $freqVariable ) $item #end;\n #end\n\n #if( $byVariables.size() > 0 )\n by #foreach( $item in $byVariables ) $item #end;\n #end\nrun;\n#end\n\nproc fastclus data=$_inputDataSet\n \n#if ($useMaxclusters == 1) maxclusters=$maxClusters#end\n#if ($useRadius == 1) radius=$radius#end\n#if ($useMaxiter == 1) maxiter=$maxiter#end\n#if ($drift == 1) drift#end\n#if ($statsCombo=='customPrint')\n #if ($listFastclus == 1) list#end\n #if ($distanceFastclus== 1) distance#end\n#elseif ($statsCombo=='noPrint') noprint\n#end\n#if ($useSeedsDataset == 1) seed=$seedsDataset#end\n#if ($outDS == 1) out=$outDSName#end\n#if ($outstatDS == 1) outstat=$outstatDSName#end\n#if ($outseedDS == 1) outseed=$outseedDSName#end\n;\n\n#if ($byVariables.size() == 0 && $dataset.getWhereClause() != '')\n where $dataset.getWhereClause();\n#end\n \n#if($intervalVariables.size() > 0)\n var #foreach( $item in $intervalVariables ) $item #end;\n#end\n\n#if( $freqVariable.size() > 0 )\n freq #foreach( $item in $freqVariable ) $item #end;\n#end\n\n#if( $idVariable.size() > 0 )\n id #foreach( $item in $idVariable ) $item #end;\n#end\n\n#if( $byVariables.size() > 0 )\n by #foreach( $item in $byVariables ) $item #end;\n#end\nrun;\n\n#if ($_work_sort_ == 1)\nproc delete data=Work.TempDataSorted;run;\n#end\n#if ($_work_std_ == 1)\nproc delete data=Work._std_;run;\n#end\n]]>\n\n","dependencies":["d581a2cc-447e-40b1-8b77-10f5291e050c"]},"properties":{"left":"277","top":"706","width":"100","height":"60","region":"output","fillcolor":"#E0E6F1","linecolor":"#6882a3","tooltip":"K-Means クラスタリング","portsonly":true,"key":"control","visible":true,"icon":"sasClusterAnalysisPlotIcon"}},{"version":2,"type":"task","id":"fe14255d-696c-4a9f-8992-58fd29e6a552","name":"","label":"相関分析","description":"相関分析タスクは、変数間の関連性を分析するためのグラフと統計量を提供します。","created":1661858439433,"modified":1661910354600,"notes":"","parameters":{"server":"","target":"com.sas.ep.sascoder.execution.producers.VPP","action":"runSASCode","priority":"Reserved","code":"/*\n *\n * SAS Studio 3.8 によって生成されたタスクコード \n *\n * 生成日 '2022/08/30 20:41' \n * 生成者 'u62013505' \n * 生成に使用されたサーバー 'ODAWS01-APSE1-2.ODA.SAS.COM' \n * 生成に使用された SAS プラットフォーム 'Linux LIN X64 3.10.0-1062.12.1.el7.x86_64' \n * 生成に使用された SAS バージョン '9.04.01M6P11072018' \n * 生成に使用されたブラウザ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36' \n * 生成に使用された Web クライアント 'https://odamid-apse1-2.oda.sas.com/SASStudio/main?locale=ja&zone=GMT%252B09%253A00&ticket=ST-112141-dxSjhqNDyVkpZfnUcQFa-cas' \n *\n */\n\nods noproctitle;\nods graphics / imagemap=on;\n\nproc sort data=WORK.IMPORT1 out=Work.SortTempTableSorted;\n\tby '定期預金契約'n;\nrun;\n\nproc corr data=Work.SortTempTableSorted pearson nosimple noprob \n\t\tplots(maxpoints=none)=matrix(histogram nvar=7);\n\tvar '年齢'n '年間平均残高'n '最終連絡日'n '最終会話時間'n 'CP中連絡回数'n '最終連絡日数'n 'CP前連絡回数'n;\n\tby '定期預金契約'n;\nrun;\n\nproc delete data=Work.SortTempTableSorted;\nrun;","ctm":"./resources/sas/models/Correlations.xml","serializedData":"\n \n 相関分析\n 相関分析タスクは、変数間の関連性を分析するためのグラフと統計量を提供します。\n 29204f37-5362-4422-8cb2-443c10509003\n CORR\n 3.8\n \n SAS Studio タスクリファレンスガイド\n \n \n CORR プロシジャ\n \n \n SAS チュートリアル\n \n \n \n \n \n \n 分析変数:\n 相関変数:\n 部分変数:\n 度数カウント:\n 重み:\n グループ分析:\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Select two or more analysis variables or one or more analysis and one correlate with variables.\n \n \n Select some tables to display or request an output data set.\n \n \n 0)\nproc sort data=$dataset out=Work.SortTempTableSorted;\n #if ($dataset.getWhereClause() != '')\n where $dataset.getWhereClause();\n #end\n by #foreach( $item in $byVariables ) $item #end;\nrun;\nproc corr data=Work.SortTempTableSorted \n#else\nproc corr data=$dataset \n#end\n#if ($printCombo == 'customPrint')\n #if ($corrOpt == 1) pearson #else nocorr #end\n #if ($covOpt == 1) cov #end\n #if ($sscpOpt == 1) sscp #end\n #if ($csscpOpt == 1) csscp #end\n #if ($spearmanCorr == 1) spearman #end\n #if ($kendallTau == 1) kendall #end\n #if ($hoeffding == 1) hoeffding #end\n #if ($fisherZ == 1) fisher(rho0=$nullRho alpha=$fisherAlpha type=$fisherType ) #end\n#else\n #if ($corrOpt == 1) pearson #else nocorr #end\n #if ($covOpt == 1) cov #end\n #if ($sscpOpt == 1) sscp #end\n #if ($csscpOpt == 1) csscp #end\n#end\n#if ($missingValues == \"obswiseMissing\") nomiss #end\n #if (!($print== 1)) noprint \n #else\n #if (!($simpleStatistics == 1)) nosimple #end\n #if (!($pvalues == 1)) noprob #end\n #if ($rank == 1) rank #end\n #end\n#if ($outputDS == 1) outp=$outputDSName#if ($print == 1)\n#if (\n ($printCorr == 1 && !($includeCorr == 1)) || \n ($printCov == 1 && !($includeCov == 1)) || \n ($printSscp == 1 && !($includeSscp == 1)) || \n ($printCsscp == 1 && !($includeCsscp == 1)) )\n(where=(_type_ not in (\n#set($comma=0)\n#if ($printCorr == 1 && !($includeCorr == 1))#set($comma=1)\"CORR\"#end\n#if ($printCov == 1 && !($includeCov == 1))#if($comma == 1),#end#set($comma=1)\"COV\"#end\n#if ($printSscp == 1 && !($includeSscp == 1))#if($comma == 1),#end#set($comma=1)\"SSCP\"#end\n#if ($printCsscp == 1 && !($includeCsscp == 1))#if($comma == 1),#end#set($comma=1)\"CSSCP\"#end\n))\n)\n#else \n## REMOVED if($replaceOutputDS == 1)(replace=yes)#else(replace=no)#end\n#end ##if (multiple conditions)\n#else \n## REMOVED if($replaceOutputDS == 1)(replace=yes)#else(replace=no)#end\n#end ##if ($print == 1)\n#end ##if ($outputDS == 1)\n\n#if ($plotType == 'noPlots') plots=none\n#else plots#if(!($maxpointsCombo == 'maxpointsDefault'))\n(\n#if(!($maxpointsCombo == 'maxpointsDefault'))maxpoints=\n#if ($maxpointsCombo == 'maxpoints10000')10000\n#elseif ($maxpointsCombo == 'maxpointsNoLimit')none\n#elseif ($maxpointsCombo == 'maxpointsSpecify')$maxpointsValue\n#end\n#end\n)\n#end\n=\n#if ($plotType == 'matrixPlots') matrix#if ($includeHistogram == '1' || !($nPlotVars == \"\"))\n(\n#if($includeHistogram == '1')histogram#end\n#if (!($nPlotVars == \"\"))\n nvar=$nPlotVars \n#if ($withVariables.size() > 0)\n nwith=$nPlotVars \n#end\n#end\n)\n#end\n#elseif ($plotType == 'scatterPlots') scatter#if (!($includeInset == '1') || $includeEllipse == '1' || !($nPlotVars == \"\"))\n(\n#if (!($includeInset == '1')) noinset#end\n#if (!($includeEllipse == '1')) ellipse=none\n#else \n#if ($ellipseType == 'confidenceEllipse') ellipse=confidence\n#else ellipse=prediction\n#end\n#if ($ellipseConfidence == \"confidence95\") #set( $ellipseAlpha = 0.05 ) \n#elseif ($ellipseConfidence == \"confidence99\") #set( $ellipseAlpha = 0.01 ) \n#elseif ($ellipseConfidence == \"confidence90\") #set( $ellipseAlpha = 0.10 ) \n#elseif ($ellipseConfidence == 'confidenceSpecify')#set( $ellipseAlpha = \"%sysevalf((100-$confidenceValue)/100)\" )\n#end\nalpha=$ellipseAlpha\n#end\n#if (!($nPlotVars == \"\"))\n nvar=$nPlotVars \n#if ($withVariables.size() > 0)\n nwith=$nPlotVars \n#end\n#end\n)\n#else(ellipse=none)\n#end\n#end\n\n#end\n;\n## if print and output, submit ods excludes\n#if ($print == 1 && $outputDS == 1)\n #if (\n (!($printCorr == 1) && $includeCorr == 1) || \n (!($printCov == 1) && $includeCov == 1) || \n (!($printSscp == 1) && $includeSscp == 1) || \n (!($printCsscp == 1) && $includeCsscp == 1) )\nods exclude\n #if (!($printCorr == 1) && $includeCorr == 1) Pearsoncorr #end\n #if (!($printCov == 1) && $includeCov == 1) cov #end\n #if (!($printSscp == 1) && $includeSscp == 1) sscp #end\n #if (!($printCsscp == 1) && $includeCsscp == 1) csscp #end\n;\n #end\n#end\n\n#if ($byVariables.size() == 0 && $dataset.getWhereClause() != '')\n where $dataset.getWhereClause();\n#end\n\n#if ( $analysisVariables.size() > 0 ) \n var #foreach( $item in $analysisVariables ) $item #end; \n#end\n\n#if ( $withVariables.size() > 0 ) \n with #foreach( $item in $withVariables ) $item #end; \n#end\n#if ( $partialVariables.size() > 0 ) \n partial #foreach( $item in $partialVariables ) $item #end; \n#end\n#if( $freqVariable.size() > 0 )\n freq #foreach( $item in $freqVariable ) $item #end;\n#end\n#if( $weightVariable.size() > 0 )\n weight #foreach( $item in $weightVariable ) $item #end;\n#end\n#if( $byVariables.size() > 0 )\n by #foreach( $item in $byVariables ) $item #end;\n#end\nrun;\n#if ($byVariables.size() > 0)\nproc delete data=Work.SortTempTableSorted;\nrun;\n#end\n]]>\n\n","dependencies":["d581a2cc-447e-40b1-8b77-10f5291e050c"]},"properties":{"left":"277","top":"590","width":"100","height":"60","region":"output","fillcolor":"#E0E6F1","linecolor":"#6882a3","tooltip":"相関分析","portsonly":true,"key":"control","visible":true,"icon":"sasCorrelationIcon"}},{"version":2,"type":"task","id":"45e24e1d-f92d-429b-8f14-6ec76f39e492","name":"","label":"データの特性分析","description":"データの特性分析タスクは、データの特性を示す要約レポートやグラフ、度数と単変量の SAS データセットを作成します。","created":1661995841931,"modified":1661996064690,"notes":"","parameters":{"server":"","target":"com.sas.ep.sascoder.execution.producers.VPP","action":"runSASCode","priority":"Reserved","code":"/*\n *\n * SAS Studio 3.8 によって生成されたタスクコード \n *\n * 生成日 '2022/09/01 10:34' \n * 生成者 'u62013505' \n * 生成に使用されたサーバー 'ODAWS01-APSE1-2.ODA.SAS.COM' \n * 生成に使用された SAS プラットフォーム 'Linux LIN X64 3.10.0-1062.12.1.el7.x86_64' \n * 生成に使用された SAS バージョン '9.04.01M6P11072018' \n * 生成に使用されたブラウザ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36' \n * 生成に使用された Web クライアント 'https://odamid-apse1-2.oda.sas.com/SASStudio/main?locale=ja&zone=GMT%252B09%253A00&ticket=ST-151274-FXEfrKdAOMdBj77eedwa-cas' \n *\n */\n\nods noproctitle;\n\nproc sort data=WORK.IMPORT1 out=_chardata_sorted;\n\tby '定期預金契約'n;\nrun;\n\n/*** カテゴリカル変数の分析 ***/\ntitle \"カテゴリカル変数の度数\";\n\nproc freq data=_chardata_sorted;\n\tby '定期預金契約'n;\n\ttables '職業'n '結婚歴'n '学歴'n 'クレカ債務'n '住宅ローン'n '個人ローン'n '連絡手段'n '最終連絡月'n \n\t\t'前回CP結果'n / plots=(freqplot);\nrun;\n\nproc delete data=_chardata_sorted;\nrun;","ctm":"./resources/sas/models/CharacterizeData.xml","serializedData":"\n \n データの特性分析\n データの特性分析タスクは、データの特性を示す要約レポートやグラフ、度数と単変量の SAS データセットを作成します。\n 54CB49F5-0888-4853-9DB6-43C50AED3982\n FREQ, MEANS, SQL, UNIVARIATE \n \n SAS Studio タスクリファレンスガイド\n \n \n FREQ プロシジャ\n \n \n MEANS プロシジャ\n \n \n SQL プロシジャ\n \n \n UNIVARIATE プロシジャ\n \n \n SAS チュートリアル\n \n 3.8\n \n \n \n \n \n 変数:\n カテゴリカル変数:\n グループ変数:\n 日付変数:\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Select at least one variable to characterize.\n \n \n 0) \n proc sort data=$dataset out=_chardata_sorted;\n by #foreach($item in $byVar) $item #end;\n #if($dataset.getWhereClause() != '')\n where $dataset.getWhereClause();\n #end\n run;\n #set($datatouse = '_chardata_sorted')\n #else #set($datatouse = $dataset)\n#end\n\n## process categorical variables\n#if (($charList.size() > 0) && ($freqTable=='1' || $freqChart=='1' || $keepMissing=='1' || $limitchk=='1' ))\n/*** $catcomment ***/\n #if($freqTable == 1 || $freqChart == 1)\n title \"$catTableTitle\";\n proc freq data=$datatouse;\n #if($byVar.size() == 0 && $dataset.getWhereClause() != '')\n where $dataset.getWhereClause();\n #end\n #if ($byVar.size() > 0) by #foreach($item in $byVar) $item #end; #end \n #if($freqTable == 0) ods exclude onewayfreqs; #end\n tables \n #foreach($item in $charList) $item #end\n #if($freqChart == 1 || $keepMissing == 1 || $limit > 0) / \n #if($freqChart == 1) plots=(freqplot) #end\n #if($keepMissing == 1) missing #end\n #if($limit > 0) maxlevels=$limit #end\n #end\n ;\n run;\n #end\n#end\n\n## process numeric variables\n#if(($numList.size() > 0) && ($statTable == '1' || $histogram == '1')) \n/*** $numcomment ***/\n #if($statTable == '1')\n title \"$numTableTitle\";\n proc means data=$datatouse n nmiss min mean median max std;\n #if($byVar.size() == 0 && $dataset.getWhereClause() != '')\n where $dataset.getWhereClause();\n #end \n #if ($byVar.size() > 0) by #foreach($item in $byVar) $item #end; #end\n var\n #foreach($item in $numList) $item #end\n ;\n run;\n #end\n #if($histogram == 1)\n title ;\n proc univariate data=$datatouse noprint;\n #if($byVar.size() == 0 && $dataset.getWhereClause() != '')\n where $dataset.getWhereClause();\n #end \n #if ($byVar.size() > 0) by #foreach($item in $byVar) $item #end; #end \n histogram #foreach($item in $numList) $item #end;\n run;\n #end\n#end\n\n## process date variables\n\n#if($dateList.size() > 0 && ($minMaxDate == '1' || $seriesPlot == '1'))\n/*** $datecomment ***/\n #if($minMaxDate == '1')\n title \"$dateTableTitle\";\n proc sql;\n #foreach($item in $dateList)\n #if($dateFmts.contains($item.get('format').replaceAll(\"[0-9.]\", \"\"))) #set($dtefmt = $item.get('format'))\n #else #set($dtefmt = 'date.') #end \n select \"$item\" label=\"$datelabel1\",min($item) format=$dtefmt label=\"$datelabel2\" ,max($item)\n format=$dtefmt label=\"$datelabel3\"\n #if($byVar.size() > 0) , $byVar.get(0) label=\"$byVar.get(0)\" #end\n from $datatouse\n #if($dataset.getWhereClause() != '') where $dataset.getWhereClause() #end\n #if($byVar.size() >0) group by $byVar.get(0) #end\n ;\n #end\n quit;\n #end\n\n #if($seriesPlot == '1')\n title \"$datePlotTitle\";\n proc freq data=$datatouse noprint;\n #if($byVar.size() == 0 && $dataset.getWhereClause() != '')\n where $dataset.getWhereClause();\n #end \n #set($inc = 1)\n #if($byVar.size() > 0) by $byVar.get(0); #end\n #foreach($item in $dateList) \n tables $item / out=_tmpfreq$inc;\n #set($inc = $inc + 1)\n #end\n run;\n #set($inc = 1)\n #foreach($item in $dateList)\n proc sgplot data=_tmpfreq$inc;\n #if($byVar.size() == 0 && $dataset.getWhereClause() != '')\n where $dataset.getWhereClause();\n #end \n #if($byVar.size() > 0) by $byVar.get(0); #end\n yaxis min=0;\n series x=$item y=count;\n run;\n #set($inc = $inc + 1)\n #end \n #end\n#end\n\n#if($grpVars.size() > 0 || ($dateList.size() > 0 && $seriesPlot == 1) || $byVar.size() > 0)\n\n proc delete data =\n #if($grpVars.size() > 0) grpvartable #end\n #if($seriesPlot == 1)\n #set($inc = 1)\n #foreach($item in $dateList) \n _tmpfreq$inc\n #set($inc = $inc + 1)\n #end\n #end\n #if($byVar.size() > 0) _chardata_sorted #end\n ;\n run;\n#end\n\n]]>\n\n","dependencies":["d581a2cc-447e-40b1-8b77-10f5291e050c"]},"properties":{"left":"278","top":"816","width":"100","height":"60","region":"output","fillcolor":"#E0E6F1","linecolor":"#6882a3","tooltip":"データの特性分析","portsonly":true,"key":"control","visible":true,"icon":"sasDataDefinitionIcon"}}],"ports":[{"version":2,"type":"port","id":"6383496e-065b-4d96-8a08-0eff85361732","name":"","label":"","description":"","created":1659920825952,"modified":1659938767825,"notes":"","parameters":{},"properties":{"left":"68","top":"63","width":"13","height":"13","parent":"d581a2cc-447e-40b1-8b77-10f5291e050c","region":"input","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"949627ef-06e0-4d72-8c88-c51db34e6d52","name":"","label":"","description":"","created":1659920825953,"modified":1659938767826,"notes":"","parameters":{},"properties":{"left":"195","top":"54","width":"13","height":"13","parent":"d581a2cc-447e-40b1-8b77-10f5291e050c","region":"output","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"066c96b6-f5dc-437f-85d9-0a6c12370044","name":"IMPORT1","label":"","description":"","created":1659920825953,"modified":1659938767826,"notes":"","parameters":{},"properties":{"left":"195","top":"72","width":"13","height":"13","parent":"d581a2cc-447e-40b1-8b77-10f5291e050c","region":"output","readonly":true,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"data","icon":"sasSASDataSetIcon10","libref":"WORK"}},{"version":2,"type":"port","id":"e1d0dbc1-6014-424c-8bcd-62347faeeb8a","name":"","label":"","description":"","created":1660788748561,"modified":1660788748567,"notes":"","parameters":{},"properties":{"left":"258","top":"54","width":"13","height":"13","parent":"c8f514fc-2424-43c5-809b-3358ffc7f536","region":"input","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"388e655d-9717-47a0-8b61-7969a8a69c49","name":"","label":"","description":"","created":1660788748563,"modified":1660788748567,"notes":"","parameters":{},"properties":{"left":"385","top":"63","width":"13","height":"13","parent":"c8f514fc-2424-43c5-809b-3358ffc7f536","region":"output","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"5778fdc9-9106-4add-8d54-d7362d58e3c2","name":"IMPORT1","label":"","description":"","created":1660788748564,"modified":1660788794561,"notes":"","parameters":{},"properties":{"left":"258","top":"72","width":"13","height":"13","parent":"c8f514fc-2424-43c5-809b-3358ffc7f536","region":"input","readonly":true,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"data","icon":"sasSASDataSetIcon10","libref":"WORK"}},{"version":2,"type":"port","id":"597ab6bd-638d-4b61-8f81-d52ade68ae24","name":"","label":"","description":"","created":1660788759512,"modified":1660788759517,"notes":"","parameters":{},"properties":{"left":"258","top":"164","width":"13","height":"13","parent":"500db21f-dbf7-40f6-8ab0-78c282e27f67","region":"input","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"3d1d8699-9c88-48ff-86a8-e7ceedc60a6f","name":"","label":"","description":"","created":1660788759513,"modified":1660788759517,"notes":"","parameters":{},"properties":{"left":"385","top":"173","width":"13","height":"13","parent":"500db21f-dbf7-40f6-8ab0-78c282e27f67","region":"output","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"2500c31c-e213-4055-8bc8-b699fd805f28","name":"IMPORT1","label":"","description":"","created":1660788759514,"modified":1660788828787,"notes":"","parameters":{},"properties":{"left":"258","top":"182","width":"13","height":"13","parent":"500db21f-dbf7-40f6-8ab0-78c282e27f67","region":"input","readonly":true,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"data","icon":"sasSASDataSetIcon10","libref":"WORK"}},{"version":2,"type":"port","id":"f2aec244-83dd-4665-8264-baa6aba2e414","name":"","label":"","description":"","created":1660788785598,"modified":1660788785603,"notes":"","parameters":{},"properties":{"left":"258","top":"274","width":"13","height":"13","parent":"4b6bd6da-efd4-4bfb-827c-05cd473919d5","region":"input","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"8478d61b-f6a4-4bb2-8415-3f0d81206107","name":"","label":"","description":"","created":1660788785599,"modified":1660788785604,"notes":"","parameters":{},"properties":{"left":"385","top":"283","width":"13","height":"13","parent":"4b6bd6da-efd4-4bfb-827c-05cd473919d5","region":"output","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"a104cba8-9940-4d72-8110-ec324de339eb","name":"IMPORT1","label":"","description":"","created":1660788785600,"modified":1660788885908,"notes":"","parameters":{},"properties":{"left":"258","top":"292","width":"13","height":"13","parent":"4b6bd6da-efd4-4bfb-827c-05cd473919d5","region":"input","readonly":true,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"data","icon":"sasSASDataSetIcon10","libref":"WORK"}},{"version":2,"type":"port","id":"1c6dfa31-2d97-46c1-81c1-a2a063aab65f","name":"","label":"","description":"","created":1660788789216,"modified":1660788789220,"notes":"","parameters":{},"properties":{"left":"258","top":"384","width":"13","height":"13","parent":"e206b11c-f34b-4778-85ac-3dc99163913f","region":"input","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"86cfc509-8c20-4cd2-88bc-25048e7f9515","name":"","label":"","description":"","created":1660788789217,"modified":1660788789220,"notes":"","parameters":{},"properties":{"left":"385","top":"393","width":"13","height":"13","parent":"e206b11c-f34b-4778-85ac-3dc99163913f","region":"output","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"08fd421c-2b9a-415a-83f3-8341287bb100","name":"IMPORT1","label":"","description":"","created":1660788789218,"modified":1660788927611,"notes":"","parameters":{},"properties":{"left":"258","top":"402","width":"13","height":"13","parent":"e206b11c-f34b-4778-85ac-3dc99163913f","region":"input","readonly":true,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"data","icon":"sasSASDataSetIcon10","libref":"WORK"}},{"version":2,"type":"port","id":"5a7b230f-0374-45ab-8b0f-4044e451e538","name":"","label":"","description":"","created":1660788793359,"modified":1660788793364,"notes":"","parameters":{},"properties":{"left":"258","top":"494","width":"13","height":"13","parent":"83ca109f-dfb7-4270-8c67-e6605658cbcb","region":"input","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"b6b0fa53-1d81-489e-89b0-e2e5ed618a52","name":"","label":"","description":"","created":1660788793360,"modified":1660788793364,"notes":"","parameters":{},"properties":{"left":"385","top":"503","width":"13","height":"13","parent":"83ca109f-dfb7-4270-8c67-e6605658cbcb","region":"output","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"b39a7d0e-d993-490e-8544-f65e01c9233a","name":"IMPORT1","label":"","description":"","created":1660788793361,"modified":1660788950765,"notes":"","parameters":{},"properties":{"left":"258","top":"512","width":"13","height":"13","parent":"83ca109f-dfb7-4270-8c67-e6605658cbcb","region":"input","readonly":true,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"data","icon":"sasSASDataSetIcon10","libref":"WORK"}},{"version":2,"type":"port","id":"cb2da66e-7b65-449c-8a93-09755c90325a","name":"","label":"","description":"","created":1661856326882,"modified":1661910357318,"notes":"","parameters":{},"properties":{"left":"257","top":"729","width":"13","height":"13","parent":"be35b95e-1bdf-460f-88a3-c8ba94cb40ef","region":"input","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"2e3dacf0-7a28-4411-8f95-a017279bf004","name":"","label":"","description":"","created":1661856326883,"modified":1661910357318,"notes":"","parameters":{},"properties":{"left":"384","top":"729","width":"13","height":"13","parent":"be35b95e-1bdf-460f-88a3-c8ba94cb40ef","region":"output","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"951a2130-b13c-4093-8500-1502dc8d3d91","name":"","label":"","description":"","created":1661858439441,"modified":1661910354600,"notes":"","parameters":{},"properties":{"left":"257","top":"604","width":"13","height":"13","parent":"fe14255d-696c-4a9f-8992-58fd29e6a552","region":"input","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"95e7efd8-2871-44c2-8c1a-22034fcfbbb7","name":"","label":"","description":"","created":1661858439441,"modified":1661910354600,"notes":"","parameters":{},"properties":{"left":"384","top":"613","width":"13","height":"13","parent":"fe14255d-696c-4a9f-8992-58fd29e6a552","region":"output","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"9e5484db-6ce2-457a-873b-b44bbb006e01","name":"IMPORT1","label":"","description":"","created":1661858439442,"modified":1661910354600,"notes":"","parameters":{},"properties":{"left":"257","top":"622","width":"13","height":"13","parent":"fe14255d-696c-4a9f-8992-58fd29e6a552","region":"input","readonly":true,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"data","icon":"sasSASDataSetIcon10","libref":"WORK"}},{"version":2,"type":"port","id":"3d61917a-2654-45eb-890e-0444cba96902","name":"","label":"","description":"","created":1661995841941,"modified":1661995841944,"notes":"","parameters":{},"properties":{"left":"258","top":"830","width":"13","height":"13","parent":"45e24e1d-f92d-429b-8f14-6ec76f39e492","region":"input","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"4a3debdf-034f-4705-815e-ebf0835b0a62","name":"","label":"","description":"","created":1661995841942,"modified":1661995841944,"notes":"","parameters":{},"properties":{"left":"385","top":"839","width":"13","height":"13","parent":"45e24e1d-f92d-429b-8f14-6ec76f39e492","region":"output","readonly":false,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"control"}},{"version":2,"type":"port","id":"c0b6e9e5-a9e7-41d4-8834-d0a2bbbe7854","name":"IMPORT1","label":"","description":"","created":1661995841942,"modified":1661996039933,"notes":"","parameters":{},"properties":{"left":"258","top":"848","width":"13","height":"13","parent":"45e24e1d-f92d-429b-8f14-6ec76f39e492","region":"input","readonly":true,"disabled":false,"fillcolor":"#E0E6F1","linecolor":"#6882a3","key":"data","icon":"sasSASDataSetIcon10","libref":"WORK"}}],"connectors":[{"version":2,"type":"link","id":"859f35eb-33df-4f36-8f0f-5632f0df26d8","name":"","label":"","description":"","created":1660788748567,"modified":1660788748567,"notes":"","parameters":{},"properties":{"linecolor":"#C0C0C0","linestyle":"Dash"},"sources":[{"value":"949627ef-06e0-4d72-8c88-c51db34e6d52"}],"targets":[{"value":"e1d0dbc1-6014-424c-8bcd-62347faeeb8a"}]},{"version":2,"type":"link","id":"35dbf887-e42b-4858-8f7f-cd5d59195384","name":"","label":"","description":"","created":1660788759517,"modified":1660788759517,"notes":"","parameters":{},"properties":{"linecolor":"#C0C0C0","linestyle":"Dash"},"sources":[{"value":"949627ef-06e0-4d72-8c88-c51db34e6d52"}],"targets":[{"value":"597ab6bd-638d-4b61-8f81-d52ade68ae24"}]},{"version":2,"type":"link","id":"70b9da38-fb92-438d-8170-4894ad79432f","name":"","label":"","description":"","created":1660788785604,"modified":1660788785604,"notes":"","parameters":{},"properties":{"linecolor":"#C0C0C0","linestyle":"Dash"},"sources":[{"value":"949627ef-06e0-4d72-8c88-c51db34e6d52"}],"targets":[{"value":"f2aec244-83dd-4665-8264-baa6aba2e414"}]},{"version":2,"type":"link","id":"c09204d6-1d77-41eb-8875-1ceb644a49a2","name":"","label":"","description":"","created":1660788789221,"modified":1660788789221,"notes":"","parameters":{},"properties":{"linecolor":"#C0C0C0","linestyle":"Dash"},"sources":[{"value":"949627ef-06e0-4d72-8c88-c51db34e6d52"}],"targets":[{"value":"1c6dfa31-2d97-46c1-81c1-a2a063aab65f"}]},{"version":2,"type":"link","id":"1db8feb2-16f8-4a15-8ced-72cff7ba531b","name":"","label":"","description":"","created":1660788793364,"modified":1660788793364,"notes":"","parameters":{},"properties":{"linecolor":"#C0C0C0","linestyle":"Dash"},"sources":[{"value":"949627ef-06e0-4d72-8c88-c51db34e6d52"}],"targets":[{"value":"5a7b230f-0374-45ab-8b0f-4044e451e538"}]},{"version":2,"type":"link","id":"d1a1b153-d22d-4848-8f47-84f998d3a26b","name":"","label":"","description":"","created":1661856326885,"modified":1661856326885,"notes":"","parameters":{},"properties":{"linecolor":"#C0C0C0","linestyle":"Dash"},"sources":[{"value":"949627ef-06e0-4d72-8c88-c51db34e6d52"}],"targets":[{"value":"cb2da66e-7b65-449c-8a93-09755c90325a"}]},{"version":2,"type":"link","id":"a2feb19d-5e9c-488e-8ea6-cf656f4bacfe","name":"","label":"","description":"","created":1661858439445,"modified":1661858439445,"notes":"","parameters":{},"properties":{"linecolor":"#C0C0C0","linestyle":"Dash"},"sources":[{"value":"949627ef-06e0-4d72-8c88-c51db34e6d52"}],"targets":[{"value":"951a2130-b13c-4093-8500-1502dc8d3d91"}]},{"version":2,"type":"link","id":"d32e0ca1-f582-473a-81f3-900e7858b158","name":"","label":"","description":"","created":1661995841944,"modified":1661995841944,"notes":"","parameters":{},"properties":{"linecolor":"#C0C0C0","linestyle":"Dash"},"sources":[{"value":"949627ef-06e0-4d72-8c88-c51db34e6d52"}],"targets":[{"value":"3d61917a-2654-45eb-890e-0444cba96902"}]}]}