Fügen Sie Bilder von URLs in einer Spalte hinzuHallo liebe Community,
Ich habe eine Datentabelle, in der ich eine Bildspalte basierend auf einem URL-Pfad hinzufügen möchte, den ich in einer anderen Spalte („Pfad“) habe.
Die URL-Spalte („Pfad“) wird basierend auf der vorherigen Spalte (Name+Nummer) erstellt, um für jede Zeile korrekte URLs zu haben. Die Pfadformel befindet sich im Spielzeugdatensatz oder hier:
Char( "https://bulbapedia.bulbagarden.net/wiki/File:" ) || Char( :"#"n ) ||
Char( :Name ) || Char( ".png" )
Dabei ist der Anfang der Name der Website, dann ist „#“ eine Zahl in der URL, „Name“ der Name des Pokémon und endet mit „.png“. Insgesamt ermöglicht die URL die Weiterleitung zum jeweiligen Pokemon-Bild (Beispiel: https://bulbapedia.bulbagarden.net/wiki/File:002Ivysaur.png )
Ich habe Probleme, eine Spalte mit Bildern basierend auf dieser URL zu erstellen. Ich habe es mit einer Formel versucht, aber offensichtlich ist meine Formel nicht korrekt (ich habe versucht, in der Community und im Index Scripting nachzuschauen, hatte aber keinen Erfolg).
Ich hätte gerne eine Spalte (wie Spalte 2 im Screenshot oder Datensatz), in der die Formel den Spaltenpfad betrachtet und ein Bild von der Website abruft (und, wenn möglich, die Größe dieses Bildes steuern kann!).
Ist das möglich und weiß jemand, wie es geht?
Anbei finden Sie eine Teilmenge eines Spielzeugdatensatzes.
Vielen Dank im Voraus für Ihre Antworten!
Verbraucher- und MarktforschungDatenmischung und -bereinigungMassenanpassungBetreff: Bilder von URLs in einer Spalte hinzufügendas ist cool:
Bilder in Datentabellen und zugehörige JSL-Tools (2020-US-30MP-585)
Betreff: Bilder von URLs in einer Spalte hinzufügenHallo @Craige_Hales ,
Vielen Dank für Ihre wertvollen Beiträge und entschuldigen Sie die Verzögerung meiner Antwort.
Die Lösung ist genau wie Sie erwähnt haben, eine Kombination aus Spaltenformel (um eine URL basierend auf anderen Spaltenwerten zu erstellen), Ausdrucksspalte (um kurze Bilder anzuzeigen) und einem Spaltenereignishandler (um durch Klicken in die Zelle ein größeres Bild mit Statistiken zu erhalten ).
Ich muss noch viel über JSL-Skripting und spezielle Spaltenformatierung/-typen lernen. Ich bin erstaunt, alle Möglichkeiten zu sehen (und jetzt noch neugieriger, neue zu entdecken!). Ich werde mich mit dem JSL-Skripting-Kurs befassen, um die Grundlagen zu erlernen.
Vielen Dank für Ihr Interesse und Ihre Antwort.Betreff: Bilder von URLs in einer Spalte hinzufügenHallo @jthi !
Toll ! Vielen Dank für den Vorschlag! Ich könnte den JSL-Code aktualisieren, um die Fenster informativer zu machen.
Aber ich muss aufpassen, dass dieser Pokémon-Spielzeugdatensatz 800 Einträge hat, also wähle ich die niedrigste Größe für das URL-Bild und ich muss darauf achten, dass die Dateigröße nicht zu groß ist.
Vielen Dank für Ihre Hilfe !Betreff: Bilder von URLs in einer Spalte hinzufügenSie können auch das neue Fenster im Ereignishandler ändern, um das neue Fenster bei Bedarf informativer zu gestalten (dies ist möglicherweise auch eine Möglichkeit, das Bild zu skalieren).
Dies ist kein Event-Handler, sondern ein Beispielskript, was getan werden könnte
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>Betreff: Bilder von URLs in einer Spalte hinzufügenHallo @jthi ,
Nachdem Sie einige URLs wie die, die Sie in Ihrer Datei angezeigt haben, analysiert haben, funktionieren die eingestellten Spalteneigenschaften wie ein Zauber! Vielen Dank für Ihre schnelle Antwort und die vollständige Anleitung!
Ich muss mich um einige „Namen“ kümmern, die nicht korrekt formatiert sind, und die Bilder nur einmal und in kleinen Datensätzen extrahieren (und sie dann kombinieren), sonst fängt JMP an zu versagen ...
Wer hätte gedacht, dass wir mit JMP einen Pokedex erstellen können? 
Vielen Dank für Ihre Lösung!
Betreff: Bilder von URLs in einer Spalte hinzufügenDrei orthogonale Ideen, die in verschiedenen Kombinationen verwendet werden können:
- Spaltenformel – berechnet einen Wert für eine Zelle basierend auf einer oder mehreren anderen Zellen.
- Ausdrucksspalte – eine Zelle, die einen Wert enthält, der nicht auf eine Zahl oder eine Zeichenfolge beschränkt ist (Bilder, Matrizen, JSL)
- Spaltenereignishandler – zusätzliche Formeln für eine Spalte, um das Klicken auf Zellen (sowie Tooltip und Farbe) zu verarbeiten.
Vielleicht möchten Sie alle drei. Die Spaltenformel kann eine URL-Zeichenfolge aus anderen Zellen erstellen, das Bild von der URL abrufen, die Größe des Bilds festlegen und, wenn die Spalte auch eine Ausdrucksspalte ist, das Bild als Ausdruck verwenden. open() oder newimage() nehmen eine URL für eine JPG-Datei und geben ein Bildobjekt zurück.
Der Ereignishandler kann dann das Bild/die Zelle anklickbar machen; Dieser Klick-Handler verwendet möglicherweise die anderen Zellen, aus denen die URL erstellt wurde, wenn die Spalte auch eine Formelspalte ist. Schreiben Sie die Event-Handler nicht von Hand. Verwenden Sie die GUI, um sie zu erstellen und zu testen. Wenn Sie dann die JSL benötigen, um sie zu erstellen, verwenden Sie das rote Dreieck, um das Skript für die Datentabelle zu erfassen und dieses zu ändern. Der Standard-Ereignishandler verfügt über eine Standard-JSL, die Sie studieren und dann ändern sollten.
Betreff: Bilder von URLs in einer Spalte hinzufügenDie URLs in den Beispieldaten sind keine direkten Links zu den Bildern. Müssen Sie sie von der Seite beziehen oder können Sie die direkten Links zu den Bildern erhalten? Zum Beispiel für Bulbasaur (je nach Größe) https://bulbapedia.bulbagarden.net/wiki/File:001Bulbasaur.png -> https://archives.bulbagarden.net/media/upload/thumb/2/21/001Bulbasaur.png/240px-001Bulbasaur.png . Wenn Sie keine direkten Links erhalten können, ist es möglicherweise das erste, was Sie tun müssen, indem Sie eine Funktion schreiben, die die Bild-URLs der Seite analysiert.
Höchstwahrscheinlich ist das Format immer ziemlich ähnlich, daher sollte das Schreiben der Parsing-Funktion nicht allzu schwierig sein

Das könnte funktionieren, bin mir aber nicht sicher, wie gut und wie lange:
Mehr sehen...
Ich habe eine Datentabelle mit direkten Links zu einigen Bildern angehängt, die sie in die Datentabelle laden, und sie verfügt außerdem über den Click-Event-Handler, um das Bild in einem neuen Fenster zu öffnen:

Es wird die Ausdrucksspalte mit dieser Art von Formel verwendet:
New Image(New HTTP Request(url(:Column 1), Method("GET")) << send)
Abhängig davon, wie die Datentabelle verwendet/erstellt wird, ist es möglicherweise besser, die Formel zu entfernen/die Auswertung zu unterdrücken (oder << „Jeden Wert festlegen“) zu verwenden, damit die Bilder nicht zu oft heruntergeladen werden.
Klicken Sie auf den geraden Thandler, um das Bild zu öffnen, nachdem es in die Datentabelle geladen wurde. Es würde etwa so aussehen:
Function({thisTable, thisColumn, iRow},
{},
New Window("IMG", New Image(thisTable:thisColumn[iRow]))
);
Betreff: Bilder von URLs in einer Spalte hinzufügenVielen Dank für Ihre schnelle Antwort @jthi !
Das hilft mir schon sehr, ich werde prüfen, was möglich ist. Da ich eindeutig ein Neuling in Sachen JSL/Scripting bin, wäre ich Ihnen sehr dankbar, wenn Sie die Zeit hätten, ein Skript für den Event-Handler-Ausdruck bereitzustellen 
Ich möchte kleine Bilder in der Spalte haben (und nicht nur auf die URL klicken oder einen Browser öffnen), wie im Datensatz SAS Offices.jmp in der Beispieldatenbibliothek ( Gelöst: Erlaubt jmp, dass der Inhalt einer Zelle ein Hyperlink ist – Seite 2 – JMP-Benutzergemeinschaft )
Vielen Dank !
Betreff: Bilder von URLs in einer Spalte hinzufügenEvent-Handler sollten damit umgehen können. Einige Beispiele finden Sie hier 2022_Q1 MakeOverChallenge: Aktion per Mausklick auf verschiedene Arten . Wenn ich etwas mehr Zeit habe, sollte ich in der Lage sein, mit der bereitgestellten Beispieltabelle ein Beispiel zu erstellen (falls erforderlich).