イベントハンドラーという列プロパティを使用して、テキストの列にハイパーリンクを定義することができます。たとえば、地理データの列からGoogleマップへのハイパーリンクを作成したり、ウィキペディアのウェブページへのリンクを含めたりできます。
注: 「イベントハンドラー」列プロパティの詳細を参照するには、ハイパーリンクを含む列に「イベントハンドラー」列プロパティを追加します。すると、この列プロパティに関するヒントが表示されます。この列プロパティを作成するスクリプトを参照するには、データテーブルの赤い三角ボタンをクリックし、[テーブルスクリプトをコピー(データなし)]を選択します。コピーしたスクリプトを空のスクリプトに貼り付けます。
データテーブルの列にハイパーリンクを定義するには、イベントハンドラーという列プロパティを使用します。この例では、「SAS Offices.jmp」サンプルデータにあるハイパーリンクがどのように作られたかを示します。
1. [ヘルプ]>[サンプルデータライブラリ]を選択し、「SAS Offices.jmp」を開きます。
2. 「都市」列を右クリックして、[列情報]を選択します。
イベントハンドラーの列プロパティが設定されています。
3. 「クリック」タブにあるスクリプトがURLのコードを挿入しています。
Function( {thisTable, thisColumn, iRow},
Web( "https://www.google.com/maps/@"||Char(thisTable:latitude[irow])||","||Char(thisTable:longitude[irow])||",12z" ) );
– thisTableはデータテーブルのオブジェクトです。
– thisColumnは列オブジェクトです。
– iRowはthisColumnにある行のインデックスです。
– WebはデフォルトのブラウザでURLを開きます。
– "https://www.google.com/maps/@"の中の@は地図用のGoogle APIに固有のものです。Googleでは、この後に座標が続くことになっています。
– ||Char(thisTable:latitude[irow])は「緯度」列で定義される緯度を連結しています。
– ||","||Char(thisTable:longitude[irow])||は「経度」列で定義される経度を連結しています。
– Google APIでは",12z"によって倍率を指定しています。
• 「ヒント」タブのスクリプトはカーソルをハイパーリンクの上に置いたとき現れるツールヒントを定義します。ヒントは、リンクがクリックされた後何が起こるかを正確に記述しています。この関数を利用して、「クリック」スクリプトが用いるURLやプラットフォームの説明にツールヒントを設定してください。
Function( {thisTable, thisColumn, iRow},
"Open " || "https://www.google.com/maps/@"||char(thisTable:latitude[irow])||",
"||char(thisTable:longitude[irow])||",12z" || " in your browser.";);
– ツールヒントの文字列を戻します。
• 「色」タブのスクリプトはハイパーリンクの色を定義します(この例では、青)。
Function( {thisTable, thisColumn, iRow},
5;);
JMPカラーにJMPカラーの図が掲載されています。
他のファイルへのリンクをデータテーブル列に埋め込むこともできます。次の例では、コンピューター上の音声やビデオにリンクするための、「イベントハンドラー」スクリプトと値の設定方法を示しています。
New Table( " Wildlife ",
New Column( " 列1", Character, "Nominal",
Set Property( " Event Handler ",
Event Handler(
Click( JSL Quote(Function( {thisTable, thisColumn, iRow}, Open( Char(
thisTable:thisColumn[ iRow ] ) ); );) ),
Tip( JSL Quote(Function( {thisTable, thisColumn, iRow}, Char(
thisTable:thisColumn[ iRow ] ) || "をメディアプレイヤーで開く"; );) ),
Color( JSL Quote(Function( {thisTable, thisColumn, iRow}, 5; );) )
)
),
Set Selected,
Set Values( {
"C:\Users\Public\Videos\Sample Videos\Wildlife.wmv",
"C:\Users\Public\Music\Sample Music\Kalimba.mp3"
} )
)
)
「SAS Offices.jmp」にある各国のSASオフィスと写真の列もイベントハンドラースクリプトの例を含んでいます。