16 進数から 10 進数へこんにちは 、
多数のファイルをインポートするという顧客のリクエストを受け取りました16 進数の列。例: 0xeadf、0xffdb;
JMP13 では、単純にデータを JMP に貼り付けたりインポートしたりすると、JMP はこれらの 16 進列を連続データ (例: 65499、60127...) に自動的に変更します。
一方、JMP14* にアップグレードすると、 16 進数の列は「0xeadf」のような文字として残り、接頭辞「0x」を削除しても残ります。
汚い16 進数から数値へ(:列名)にのみ機能します新しく作成された連続列ただし、既存の 16 進数の列には適用されません
--> これでは、16 進数の列ほど顧客の問題は解決されません。対処する (JMP15 は JMP14 と同じ動作)
写真2枚を添付しました

質問:
1): ユーザーが構成できる JMP13 と JMP14 の異なる設定は何ですか?
2): Q1 が不可能な場合、この状況に対処する方法を知っている人はいますか?
ご意見やアイデアをありがとうございます。幸せな金曜日をお過ごしください:)
ピン
Re: 16 進数から 10 進数へ@andreacoombs1 、します16 進数を数値に変換()探しているものをあげますか?

Re: 16 進数から 10 進数へ@brady_brady今日IBMと話をしていましたが、この変換ツールはまさに彼らが必要としていたものでした。これらは基数 10 と 16 の間で変換しています。これに関する更新はありますか? すべてアドインに変換されましたか?この機能はソフトウェアでネイティブに利用できますか?
Hex to Number() および Hex() を使用してこの変換を行うことができました。 (添付資料参照)
Re: 16 進数から 10 進数へこんにちは、ピンとドン。
この議論に遅れていることは承知していますが、JMP に基本変換関数が欲しいと常々思っていたことを付け加えておきたいと思います。 以下は、私が少し前に書いた、任意の 2 つの整数基数 (基数 2 から基数 36 まで) の間で変換するツールです。
関数呼び出しの仕様は次のとおりです。
b1Tob2 (n(文字列), b1(数値), b2(数値)) -> 結果(文字列)
すべての値が正しく指定されていることを前提としています (つまり、5 進数では 5 より大きい数字は使用されないため、数値 376 を 5 進数で使用することはできません)。 Pin が述べているように、関数を適用する前に前処理 (たとえば「0x」の削除) が必要な場合があります。
以下に、数式列でツールを使用するためのコードを示します。 変更する必要があるのは、テーブルの列名と一致するように最後の行だけです。数式は、Don が説明した属性の標準化手順でも引き続き機能するはずです。 これは簡単にアドインに変えることができ、興味深いブログを作ることができます。 おそらく、いつかそうするでしょう。
使用中の数式のスクリーンショットと表の例も添付しました。
乾杯、
ブレイディ
names default to here(1);
decToB = Function( {n, b},
{a, s},
s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
n = Num( n );
a = "";
While( n >= 1,
a = Substr( s, Mod( n, b ) + 1, 1 ) || a;
n = Floor( n / b );
);
a;
);
bToDec = Function( {n, b},
{s},
s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
c = 0;
n = Char( n );
For( i = 1, i <= Length( n ), i++,
a = (c + Contains( s, Substr( n, i, 1 ) )) - 1;
c = a * b;
);
a;
);
b1Tob2 = Function( {n, b1, b2},
{default local},
n = Char( n );
decTob( btoDec( n, b1 ), b2 );
);
b1Tob2( :Number, :Original Base, :New Base );

Re: 16 進数から 10 進数へドンさん、本当にありがとうございました。@donmcormack
あなたのソリューションはほんの少し変更するだけでうまく機能します。最初にプレフィックス「0x」を置き換えます(JMP14、 JMP15も同様に動作します)
それぞれの連続した列を作成するために回避策を使用していると思います。 --> 「16 進数から数値へ」フォーミュラが後のフォーミュラ標準化で機能するようにするため
(笑、将来的には、開発者が「16 進数から数値へ」フォーミュラを可能であればそれらの 16 進数の列に対して直接動作させることができるといいのですが
)

これで、元の 16 進列が完成しました。 + 名前が付いたそれぞれの連続列 (例: Length[FG0])
(ヘッダー名を変更するかどうかはユーザーの好み次第です:) )
再度、感謝します。 旅の安全を祈って、また会いましょう〜
Re: 16 進数から 10 進数へピン、
私が気づいた点の 1 つは、JMP 13 でのコピー アンド ペーストでは必ずしも正しい結果が得られるわけではないということです。 添付の Excel ワークブックには、同じ値の列が 3 セットあり、最後の 2 セットは 16 進表現です。 列の最後のセットを貼り付けても、最初のセットと同じ結果は得られませんが、結果は得られるはずです。 開発がこれを認識していて、13 と 14 の間で動作を変更したかどうかはわかりません。 いずれにしても、このような理由から、バージョン 13 以前ではコピー アンド ペーストは使用しません。 比較的簡単な解決策は次のとおりです。
- 文字の 16 進値の列を選択し、右クリックして、[新しい列の式] > [文字] > [長さ] を選択します。
- 新しく作成した列を選択し、[列] > [属性の標準化] に移動します。
- [属性の標準化] > [式] を選択します。 数式を編集し、Length を Hex から Number に置き換えます。
- [列参照の置換] チェックボックスをオンにします (これは重要です)。
- 「適用」をクリックします
これにより、列が正しい値に変換されるはずです。 お役に立てれば。
ドン
Re: 16 進数から 10 進数へ@ジェフ・パーキンソンします。 特定の例 (16 と 10 の間で変換し、またその逆に変換していました) に必要な基数と、16 進数から数値 () および 16 進数 () へのデフォルトの基数が何であるかを理解するのに、しばらく時間がかかりました。お客様は、Excel の方がはるかに簡単だと考えていました。これがフォーマットの一部であるか、列情報で見つけられると良いのですが...
現在、社内のウィッシュリストに進んでいます。:)