JSL - 如何獲得分析類型有沒有一種簡單的方法可以告訴我從JSL角度看什麼類型的分析?我想知道大綱框是否是Oneway,Bivariate等。 我認為有一種簡單的方法可以做到這一點,比如分析<<類名(但是沒有用 - 只返回OutlineBox)。
我想根據任何給定窗口中的分析類型運行不同的代碼。 這是假設我沒有明確創建分析並知道它是什麼。 我能想到的唯一方法就是使用下面的代碼,但對我來說,它感覺非常玻璃化。 這是唯一的方法嗎?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
analysis = dt << Fit Y by X(
Y( :weight ),
X( :height, :sex )
);
for(i=1, i<=nitems(analysis), i++,
if(contains(Log Capture(print(analysis[i])), "Oneway"),
Print("It's a Oneway"),
Print("It's not Oneway")
);
);
@Craige_Hales , @女士 , @Jeff_Perkinson
Re:JSL - 如何獲得分析類型謝謝 @pmroz ,是的,我經常使用類似於你的char()函數,再次,不知道為什麼我現在沒有想到它。
XPATH功能看起來非常有用。 語法看起來並不太複雜,W3schools上有教程,所以這是一個加號。 https://www.w3schools.com/xml/xpath_intro.asp
使用XPATH我可以選擇我想要的類型的報告。 超級有用!要不得不深入研究這一點。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
analysis = dt << Fit Y by X(
Y( :weight ),
X( :height, :sex )
);
OnewayReports = Current report()<< xpath("//OutlineBox[contains(@helpKey, 'Oneway Report')]/.");
oneway = OnewayReports[1];
oneway << Set Title("Test");Re:JSL - 如何獲得分析類型對不起,我太快回答了,並沒有真正理解這個問題。
在你的例子中的循環中炭(分析[I]) 會得到與之相同的結果
日誌捕獲(打印(分析[i]))。
對於更複雜的場景,xpath()也值得探索。例如,此代碼示例返回當前報表中的字符串列表。
Current report()<< xpath("//OutlineBox[contains(@helpKey, 'Report')]/@helpKey");Re:JSL - 如何獲得分析類型很高興它有所幫助。 我一直在使用 CHAR() 函數將事物轉換為文本以寫入Oracle,以保存對話框狀態。 特別是我把它用於列表。 請注意,反向處理需要解析。
a = {"xyz", "Hello", "World"};
b = char(a);
"{\!"xyz\!", \!"Hello\!", \!"World\!"}"
c = parse(b);
{"xyz", "Hello", "World"}
Re:JSL - 如何獲得分析類型謝謝!顯而易見的解決方案有時可以逃避你,我不確定我的想法在哪裡。 我仍然希望box對象包含名稱或類型參數。
Re:JSL - 如何獲得分析類型如何將分析列表轉換為char然後解析結果?
ca = char(analysis);
analysis_list = words(ca, "{}[], ");
{"Bivariate", "Oneway"}Re:JSL - 如何獲得分析類型這似乎只是返回分析對象:
scriptObjs = analysis << get scriptable object;
print(scriptObjs);
print(analysis);
print(scriptObjs == analysis); //returns true
我仍然使用我的log capture()方法來刪除scriptsObjs。
Re:JSL - 如何獲得分析類型
analysis << get scriptable object;
返回分析列表