公開日: 09/19/2023

計算式内でのMunger関数の使用

以下の例は、Munger関数の使い方を示したものです。これらの例では、ある列の値の1つがVeronica Laymanという文字列だと仮定します。例を簡単にするため、列名の代わりに文字列定数"Veronica Layman"を検索対象の文字列とします。

Mungerなどの文字関数を計算式に組み込む方法については、文字関数を参照してください。

文字の挿入

このMungerの例では、姓と名の間の空白を探し、ミドルイニシャルのJ.を挿入します。計算式は、
Munger("Veronica Layman", 1, " ", " J. ") です。

Munger関数では、文字列定数に2重引用符が必要です。これは、空白で構成された文字列や文字列の最初か最後に空白がある場合も同様です。

文字の削除

文字列から1つまたは複数の文字を削除するには、以下の手順で操作します。

1. 削除する文字をMunger関数の検索文字列として指定します。

2. 空の置換値文字列(間に何も挿入していない一組の引用符)を指定します。

たとえば、Munger("Veronica Layman", 1, "onic", "")という関数を使うと、Veronicaからonicが削除され、Vera Laymanとなります。

メモ: 置換値引数の引用符で囲んだヌル文字列(空の文字列)は、置換値引数を指定しない場合とは異なります。置換値引数を指定しない場合、Mungerは計算式エディタに引数名("置換値")を表示し、このオプションの引数が存在しないかのように機能します。そして、検索/長さ引数の値によっては、結果のデータタイプが文字から数値に変更される場合があります。

値の位置(インデックス)の検索

検索/長さフィールドに文字が含まれている場合、Mungerはインデックス関数のように機能し、検索文字列の最初のインスタンスの位置を戻します(検索結果があれば)。たとえば、Munger("Veronica Layman", 1,
" ")
はシングルスペースを検索し、位置9で見つけます。検索文字列が見つからない場合、Mungerはゼロを戻します。Mungerをこのように使うと、文字関数に示すように、Contains関数と同じ結果が導かれます。

文字列の一部の検索

Mungerは文字列の一部を抽出できます。たとえば、姓名の名だけを抽出する場合、Munger("Veronica Layman", 1, 8,)と指定すると、1文字目から8文字目までを抜き出されます。置換値引数が定義されていないため、残りの文字は無視されます。結果はVeronicaとなり、文字関数に示すSubstring関数と同じ結果が導かれます。

文字列を抽出するもう一つの方法は、オフセットと負の長さを指定して、置換値引数を指定しない方法です。Munger("Veronica Layman", 9, -1,)はLaymanを戻します。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).