2021/01/29

R連携

16進数から10進数へ変換

このコンテンツでは、16進数のデータを扱うために、Rを利用して10進数に変換する関数を作成する方法を説明していきます。
なお、本コンテンツで利用したバージョンはSpotfire10.10です。ご利用環境によって、一部画面構成が異なる可能性がありますので、ご了承ください。

16進数から10進数への変換

装置などから出力されるデータの中には、16進数の文字列が含まれていることがあります。
Spotfireで扱える型は文字列型、数値型などがありますが、16進数文字列はあくまで文字列としてしか扱えないため、一度10進数に変換する必要があります。
ただ、Spotfireの関数では16進数→10進数の変換関数はありません。

hex
ffff
0fac
12fc98
AC

上の「hex」カラムのように、16進数だと文字列扱いになるので10進数に変換しないと計算ができません。
このような時には「データ関数の登録」機能で関数を追加すると便利です。

データ関数の登録

データ関数の登録機能を使うと、R言語を使用して独自の関数を定義できます。
「データ」→「データ関数のプロパティ」を選択し、

「式の関数」タブの「新規」をクリック

式の関数画面が開くので以下を設定します。

  • 名前:hextodec
  • 説明:16進数の文字列を10進数に変換します。
  • 戻り型:Integer
  • カテゴリ:統計関数

スクリプトは下記のように記載します。

output <- as.integer(as.hexmode( input1 ))

式の関数の場合、入力カラムはinput1、出力カラムはoutputと記載する約束事になります。
これで登録は完了です。

計算カラムで確認

「データ」→「計算カラムの追加」で確認できます。

関数の中に登録したhextodecが追加されています。
これで通常の関数と同じように使うことができます。また、計算カラムだけでなくカスタム演算式内でも使用できます。

【R連携】記事一覧に戻る
全記事一覧に戻る