URL からの画像を列に追加する親愛なるコミュニティの皆さん、こんにちは。
別の列 (「パス」) にある URL パスに基づいて画像列を追加したいデータテーブルがあります。
URL 列 (「パス」) は、各行に正しい URL が含まれるように、前の列 (名前+番号) に基づいて構築されます。 パス式はおもちゃのデータセットまたはここにあります。
Char( "https://bulbapedia.bulbagarden.net/wiki/File:" ) || Char( :"#"n ) ||
Char( :Name ) || Char( ".png" )
ここで、先頭は Web サイトの名前、「#」は URL の数字、「Name」はポケモンの名前、「.png」で終わります。 まとめると、URL は特定のポケモンの画像にリダイレクトされるようになります (例: https://bulbapedia.bulbagarden.net/wiki/File:002Ivysaur.png )
この URL に基づいて画像の列を作成する際に問題が発生しました。数式を使用してみましたが、明らかに数式が正しくありません (コミュニティとインデックス スクリプトを調べてみましたが、成功できませんでした)。
数式が列パスを参照してWebサイトから画像を取得する列(スクリーンショットまたはデータセットの列2のような)が必要です(可能であれば、この画像のサイズを制御できます!)。
それは可能ですか?誰かがその方法を知っていますか?
おもちゃのデータセットのサブセットが添付されていますのでご確認ください。
ご回答いただきありがとうございます。
消費者および市場調査データのブレンディングとクリーンアップマスカスタマイゼーションRe: URL からの画像を列に追加するこれはカッコいい:
データ テーブル内の画像と関連する JSL ツール (2020-US-30MP-585)
Re: URL からの画像を列に追加するこんにちは@Craige_Hales 、
貴重なご意見をありがとうございました。また、回答が遅れて申し訳ありませんでした。
解決策はまさにあなたが述べたとおりで、列式(他の列の値に基づいてURLを作成するため)、式列(短い画像を表示するため)、および列イベントハンドラー(セルをクリックして統計情報をより大きな画像で表示するため)を組み合わせたものです。 )。
JSL スクリプトと特別な列の書式設定/型については学ぶことがたくさんありますが、あらゆる可能性を見て驚いています (そして今では新しい可能性を発見することにさらに興味があります!)。 基本を理解するために、JSL スクリプトのコースを詳しく見ていきます。
ご関心とご回答をいただき、誠にありがとうございます。Re: URL からの画像を列に追加するこんにちは@jthi !
すばらしい ! ご提案ありがとうございます! Windows の情報をさらに豊富にするために、JSL コードを更新するかもしれません。
ただし、このポケモンのおもちゃのデータセットには 800 のエントリがあるため、URL 画像には最小のサイズを選択し、ファイル サイズが大きすぎないように注意する必要があります。
ご協力ありがとうございました!Re: URL からの画像を列に追加する必要に応じて、イベント ハンドラーで新しいウィンドウを変更して、新しいウィンドウの情報を増やすこともできます (これは、画像を拡大縮小する場所の 1 つでもあります)。
これはイベント ハンドラーではなく、実行できるサンプル スクリプトです。
Names Default To Here(1);
img = New Image(
New HTTP Request(
url("https://archives.bulbagarden.net/media/upload/2/21/001Bulbasaur.png"),
Method("GET")
) << send
);
img << scale(0.5);
New Window("001 - Bulbasaur", << Show Toolbars(0), << Show Menu(0),
V List Box(
align("center"),
Text Box("001 - Bulbasaur", <<SET font="" style=""></SET>Re: URL からの画像を列に追加するこんにちは@jthi 、
ファイル内で示したようないくつかの URL を解析した後、列のプロパティ セットは魔法のように機能します。 素早い回答と完全なガイドをありがとうございました!
正しくフォーマットされていないいくつかの「名前」に注意し、小さなデータセットで画像を 1 回だけ抽出して (その後それらを結合して) 実行する必要があります。そうしないと、JMP が失敗し始めます...
JMP を使って Pokedex ができるなんて誰が知っていたでしょうか? 
解決策をありがとうございます!
Re: URL からの画像を列に追加するさまざまな組み合わせで使用できる 3 つの直交するアイデア:
- 列の式 - 別のセルに基づいてセルの値を計算します。
- 式列 - 数値や文字列 (画像、行列、JSL) に限定されない値を保持するセル
- 列イベント ハンドラー - セル (およびツール ヒントと色) のクリックを処理する列の追加の式
3つすべてが欲しいかもしれません。 列式では、他のセルから URL 文字列を構築したり、URL から画像を取得したり、画像のサイズを調整したり、列が式列でもある場合は画像を式として使用したりできます。 open() または newimage() は、.jpg の URL を受け取り、画像オブジェクトを返します。
その後、イベント ハンドラーは画像/セルをクリック可能にします。列が数式列でもある場合、クリック ハンドラーは URL の作成元となった他のセルを使用する可能性があります。 イベント ハンドラーを手動で作成しないでください。 GUI を使用してそれらを作成およびテストし、JSL を使用して作成する必要がある場合は、赤い三角形を使用してデータ テーブルのスクリプトをキャプチャし、それを変更します。 デフォルトのイベント ハンドラーには定型的な JSL が含まれているため、検討してから変更する必要があります。
Re: URL からの画像を列に追加するサンプル データ内の URL は画像への直接リンクではありません。 ページから画像を取得する必要がありますか、それとも画像への直接リンクを取得できますか? フシギダネの例(サイズによる) https://bulbapedia.bulbagarden.net/wiki/File:001Bulbasaur.png -> https://archives.bulbagarden.net/media/upload/thumb/2/21/001Bulbasaur.png/240px-001Bulbasaur.png 。 直接リンクを取得できない場合は、ページから画像の URL を解析する関数を作成することが最初に行うべきことかもしれません。
ほとんどの場合、形式は常に非常に似ているため、解析関数の作成はそれほど難しくないはずです。

これは機能する可能性がありますが、どれだけ効果があり、どのくらいの期間続くかはわかりません。
もっと見る...
いくつかの画像への直接リンクを含むデータテーブルを添付して、それらをデータテーブルにロードします。また、画像を新しいウィンドウで開くためのクリックイベントハンドラーもあります。

次のタイプの数式を持つ式列を使用しています。
New Image(New HTTP Request(url(:Column 1), Method("GET")) << send)
データ テーブルの使用/構築方法によっては、画像が何度もダウンロードされないように、式を削除/評価を抑制する (または << Set Each Value を使用する) 方が良い場合があります。
データ テーブルにロードされた後、さらにクリックして画像を開くと、次のようになります。
Function({thisTable, thisColumn, iRow},
{},
New Window("IMG", New Image(thisTable:thisColumn[iRow]))
);
Re: URL からの画像を列に追加する素早いご回答ありがとうございます@jthi !
これはすでに非常に役に立ちます。何が可能かを確認してみます。 私は明らかに JSL/スクリプトの初心者なので、イベント ハンドラー式のスクリプトを提供する時間があれば、とても感謝します:)
サンプルデータライブラリ(解決済み: jmp ではセルの内容をハイパーリンクにすることができますか - ページ 2 - JMP ユーザー コミュニティ)
どうもありがとう !
Re: URL からの画像を列に追加するイベント ハンドラーはこれを処理できる必要があります。 いくつかの例は以下から見つけることができます2022_Q1 MakeOverChallenge: マウスクリック時のさまざまなアクション。 もう少し時間があれば、提供されているサンプル テーブルを使用してサンプルを作成できるはずです (必要な場合)。