ファイルを開かずに.jmpファイルの行/列数とメモにアクセスするこの情報には、少なくともWindowsではJMPOpenファイルを介してアクセスできます。

JMPデータテーブルを開かずにスクリプトを介してこれらにアクセスできるかどうか疑問に思います(データファイルオプションを開く)?
列名には次のコマンドでアクセスできます
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp", "Column Names Only");
データ表スクリプティングRe:ファイルを開かずに.jmpファイルの行/列数とメモにアクセスするこんにちは@jthi 、
JMPで開いているウィンドウのダイアログからその情報を取得する方法はわかりませんが、次のようなことができます。
Names Default to Here(1);
dt=open("$SAMPLE_DATA/Big Class.jmp", Invisible);
Show(Nrows(dt));
Show(NCols(dt));
Close(dt);スクリプトウィンドウのログウィンドウまたは埋め込みログに次の情報が返されます。
N行(dt)= 40;
N Cols(dt)= 5;
openコマンドの「Invisible」は、データテーブルを前面に表示せず、バックグラウンドで非表示にします。 Show Properties(dt)コマンドを実行して、データテーブルに関するより広範な情報のリストを取得することもできます。
私はそれがあなたが望むものではないことを知っていますが、それは仕事をすることができると思います。
DS
Re:ファイルを開かずに.jmpファイルの行/列数とメモにアクセスする「非表示」ではなく「プライベート」を指定することをお勧めします。 表示オブジェクトを作成する必要がないため、JMPの動作はそれほど難しくありません。Re:ファイルを開かずに.jmpファイルの行/列数とメモにアクセスするJMPが[データファイルを開く]メニューに表示する方法は、はるかに高速です(多分...)。 非常に幅が広く、60列、非常に高い、約1,500万行のテーブルがいくつかあります。 これらを開くのはかなり遅いです。 列名としてのみ開くことで列数を取得でき、datatableを単一の列だけですべての行として開くことで行数を取得できますが、それでも遅くなると思います。 もちろん、JMPが舞台裏でこのようなことをしている可能性はありますか?
私はおそらくこのようなものを実装することができます:
Names Default To Here(1);
dtPath = "$SAMPLE_DATA/Probe.jmp";
//dtPath = "$SAMPLE_DATA/Alcohol.jmp"; //table with notes
colNames = Open(dtPath, "Column Names Only");
colCount = N Items(colNames);
dt_temp = Open(dtPath, Select Columns([1]), Private);
notesTableVar = dt_temp << Get Table Variable("Notes");
rowCount = N Rows(dt_temp);
dt_temp = Empty();
Show(colCount, rowCount, notesTableVar);
//Show(colNames);ディスカバリーサミットが現在開催されているので、Meet-The-Developerセッションの1つに参加して、そこでも質問するかもしれません。
Re:ファイルを開かずに.jmpファイルの行/列数とメモにアクセスする私は今日ディスカバリーサミットで開催されたMeetthe Developersセッションに参加して、これについて質問しました。 以前に投稿したようなソリューション(列名を取得し、列数用にN Items()、プライベートとして1列でデータテーブルを開き、行数用にN Rows())が現在これを行う最も速い方法のようです。 彼らはメモを取ったので、将来的にはプライベートデータテーブルを開かなくても可能になるか、JMPがこれを行う機能を提供するでしょう。
以下は、関数形式のスクリプトです。 彼らは、dt_tempにCloseを追加することを提案しました。 このスクリプトにはWait(0)が必要な場合があります。あちこちで、しかしそれがそれらなしで働いたので、私は何も追加しませんでした。
Names Default To Here(1);
//https://community.jmp.com/t5/Discussions/Accessing-jmp-file-row-col-count-and-notes-without-opening-file/td-p/366316
//Function to get column count, rowcount, table notes and column names to associative array
getTableInfo = function({path_to_table}, {Default Local},
//Check that file exists
If(!File Exists(path_to_table),
return(Associative Array({"error"}, {"File not found"}));
);
//Initialize associative array
retVal = Associative Array(
{"name", "rowCount", "columnCount", "notes", "columnNames"},
{"", 0, 0, "", {}}
);
//Open datatable as columns only list
colNames = Open(path_to_table, "Column Names Only");
//Check that table has atleast one column
If(N Items(colNames) > 0,
retVal["columnNames"] = colNames;
retVal["columnCount"] = N Items(colNames);
dt_temp = Open(path_to_table, Select Columns([1]), Private);
retVal["name"] = dt_temp << get name();
retVal["rowCount"] = N Rows(dt_temp);
);
//Get notes from "Notes" table variable
retVal["notes"] = dt_temp << Get Table Variable("Notes");
Close(dt_temp, no save);
return(retVal);
);
//Examples with tables from $SAMPLE_DATA
aa_probe = getTableInfo("$SAMPLE_DATA/Probe.jmp");
Show(aa_probe["name"],aa_probe["rowCount"], aa_probe["columnCount"], aa_probe["notes"]);
Show(getTableInfo("$SAMPLE_DATA/Alcohol.jmp"));
Show(getTableInfo("$SAMPLE_DATA/Alcohol.jmpmissing"));