如何將動態建立的儀表板新增至資料表的腳本面板?大家好,
我有一個 JSL 腳本,它允許使用者選擇一個或多個資料文件,然後將這些文件連接到一個資料表中。然後,該腳本為資料表建立一個儀表板。
為了產生儀表板的 JSL,我首先手動建立了一個儀表板(檔案 -> 新建 -> 新儀表板),在儀表板產生器中向其添加手動產生的圖表;然後,我從儀表板產生器複製儀表板程式碼(紅色箭頭 -> 儲存腳本 -> 到腳本視窗)並將其貼到 JSL 腳本的末尾。
這一切都很好 - 但是,我的目標是將生成的儀表板保存到數據表的腳本面板,就像從儀表板生成器中選擇紅色箭頭 -> 保存腳本 -> 到數據表將保存儀表板一樣到數據表。我也不想讓儀表板自動顯示(當使用者想要查看它時,應該在“腳本”面板中單擊它)。
我嘗試搜尋 JSL 參考 PDF 和社群討論,但沒有找到我需要的內容。有人能指出我正確的方向嗎?附加了清理程式碼,省略了資料表產生。
謝謝!
安迪
自動化和腳本編寫蘋果系統視窗回覆:如何將動態建立的儀表板新增至資料表的腳本面板?我不使用應用程式生成器,我會以不同的方式建立腳本。但也許@DonMcCormack有一些想法?這可能有一些您可以做的想法為什麼您還沒有使用應用程式生成器? - (2023-US-30MP-1401) (關於相同主題Scripters Club 2024:第 1 場 - 應用程式產生器)
回覆:如何將動態建立的儀表板新增至資料表的腳本面板?你可以嘗試這樣的事情:
dashboardExpr = Expr(
/* Code for JMP App goes here */
);
Eval(Substitute(
Expr(Current Data Table() << New Script("Dashboard",dbExpr)),
Expr(dbExpr),Name Expr(dashboardExpr)
));
將Current Data Table()變更為要新增儀表板的參考表。在儀表板運行之前可能還需要初始化其他變數。第 17 行的變數標題引起了問題,第 24 行周圍不存在的斑點也引起了問題(儘管我可以理解如果您選擇將其排除在外,為什麼不包括它)。
回覆:如何將動態建立的儀表板新增至資料表的腳本面板?謝謝唐!這非常有效(你對“標題”和斑點的看法是正確的)。
回覆:如何將動態建立的儀表板新增至資料表的腳本面板?@唐麥考馬克
嗨,唐,
我現在使用你的解決方案。
但是,你知道為什麼不能用 Eval 和 Expr 來解嗎?
我相信我剛開始了解 Eval 和 Eval Expr 但它不適用於“New Script”
回覆:如何將動態建立的儀表板新增至資料表的腳本面板?你是怎麼用的?
編輯:
希望這能提供一些想法(我認為它會以與儀表板表達式類似的方式運作)
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
dt << Delete Scripts(dt << Get Table Script Names);
gb_expr = Expr(Graph Builder(
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
));
Eval(Substitute(
Expr(dt << New Script("GB1", myexpr)),
Expr(myexpr), Name Expr(gb_expr)
));
Eval(EvalExpr(
dt << New Script("GB2", Expr(Name Expr(gb_expr)));
));