如何在通過 JSL 更新後,將 Graph Builder 視覺化效果從一個表格移動到另一個表格?大家好,
我正在使用JSL ,並且已經創建了幾個關於表 A 的Graph Builder 視覺化圖表。
在腳本的後面,我將表 A 與表 B 更新或連接(使用時間作為鍵, ID作為篩選條件)——這將建立一個新表(我們稱之為合併表)。
問題是:
沉思 -
-
是否有基於 JSL 的方法將Graph Builder 腳本從一個表傳輸或重新綁定到另一個表?
-
如果某些關鍵績效指標 (KPI) 僅基於時間視窗篩選後的行進行計算,那麼最可靠的工作流程是什麼?
我也嘗試了下面的程式碼,但是我在 GUI 視窗的左上角面板中沒有看到 mt calcTable 顯示出來。
scriptNames = dt_merged << Get Table Script Names;
Show(scriptNames);
// Loop through and copy each script to calcTable
For(i = 1, i <= N Items(scriptNames), i++,
scriptName = scriptNames[i];
scriptCode = dt_merged << Get Table Script(scriptName);
// Add the same script to calcTable
calcTable << Set Table Script(scriptName, scriptCode);
Show("Copied script:", scriptName);
);
自動化和腳本編寫內容組織資料融合與清理回覆:如何在通過 JSL 更新後,將 Graph Builder 視覺化效果從一個表格移到另一個表格?通常複製表格腳本的步驟大致如下,但根據表格腳本的具體內容,可能需要進行一些修改。
Names Default To Here(1);
dt1 = Open("$SAMPLE_DATA/Big Class.jmp");
dt2 = Open("$SAMPLE_DATA/Big Class Families.jmp");
dt2 << Delete Scripts(dt2 << Get Table Script Names); // demo purposes
For Each({scriptname}, dt1 << Get Table Script Names,
s = dt1 << Get Script(scriptname);
Eval(EvalExpr(
dt2 << New Script(scriptname, Expr(NameExpr(s)))
));
);
你也可以使用 Concatenate 函數,因為它會移動腳本(和變數),但可能會影響其他東西,所以我建議使用循環。
Names Default To Here(1);
dt1 = Open("$SAMPLE_DATA/Big Class.jmp");
dt2 = Open("$SAMPLE_DATA/Big Class Families.jmp");
dt2 << Delete Scripts(dt2 << Get Table Script Names); // demo purposes
dt_temp = dt1 << Subset(Rows(1), private);
dt_temp << Delete Rows(1);
dt2 << Concatenate(
dt_temp,
"Append to first table"
);
Close(dt_temp, no save);