Erstellen eines neuen Jupyter-Notebooks
- Aktualisiert2025-12-03
- 5 Minute(n) Lesezeit
Sie können ein neues Jupyter-Notebook (*.ipynb) in JupyterHub erstellen, um Programmcode zur Darstellung, Analyse und Verarbeitung der Daten Ihrer Hardwareprodukten, Messungen, Tests usw. zu entwickeln.
- Installieren Sie Jupyter Notebooks for SystemLink im NI-Paketmanager, um auf vordefinierte Jupyter-Notebooks zuzugreifen, die SystemLink-Python-APIs nutzen können.
- Hängen Sie /niapis/python/index.html an Ihre SystemLink-Anwendungs-URL an, um auf die Python-APIs zugreifen zu können.
- Lesen Sie mehr zur Benutzeroberfläche und Struktur eines Jupyter-Notebooks.
- Installieren Sie Python-Bibliotheken, mit deren Hilfe Sie Ihre Datenanalyse und -verarbeitung verbessern möchten. NI empfiehlt die Verwendung des Python Package Index (PyPI), um Pakete zu erhalten.
- Lesen Sie mehr zu integrierten „magic“-Befehlen, die mit dem IPython-Kernel aktiviert werden.
- Klicken Sie in der SystemLink-Webanwendung auf Jupyter.
-
Klicken Sie unter Notebook auf Python 3.
Daraufhin öffnet sich ein Jupyter-Notebook, und innerhalb des Notebooks wird Kernel zur Ausführung von Python gestartet.
- Geben Sie dem Notebook einen neuen Namen, der die Art des vom Notebook ausgeführten Berichts beschreibt.
-
Importieren Sie in einer Codezelle die Python-Module, -Bibliotheken und -Widgets für Ihr interaktives Notebook.
Sie können beispielsweise Programmcode zum Importieren von Pandas und Scrapbook für folgende Zwecke implementieren:
- Zum Erstellen und Verarbeiten von Daten-Frames (Pandas).
- Zum Ausführen eines Notebooks (Scrapbook).
- Zum Erfassen von Notebook-Ergebnissen (Scrapbook).
import copy import datetime import dateutil.parser import pandas as pd import scrapbook as sb from dateutil import tz
-
Mit Hilfe einer der SystemLink-Python-APIs können Sie auf die Daten zugreifen, die Sie darstellen, anzeigen oder verarbeiten möchten.
Verwenden Sie den folgenden Befehl, um vom SystemLink-Testüberwachungsdienst aus auf Daten zuzugreifen.
from systemlink.clientconfig import get_configuration from systemlink.clients.nitestmonitor import *
-
Stellen Sie eine Verbindung mit dem SystemLink-Server her.
Wenn Sie einen Testüberwachungs-Client mit dem Server verbinden möchten, verwenden Sie den folgenden Befehl:
http_client_config = get_configuration(route_name='nitestmonitor')
-
Definieren Sie die Parameter und Metadaten für das Notebook.
-
Definieren Sie die Parameter in einer Codezelle.
Sie können Programmcode zu folgenden Zwecken implementieren:
- Filtern Ihrer Testergebnisse nach einem bestimmten Zeitbereich.
- Gruppieren Ihrer Testergebnisse nach dem Tag, an dem das Testsystem das Ergebnis erfasst hat.
filter = 'startedWithin <= "30.0:0:0"' group_by = 'Day'
- Öffnen Sie in der rechten Seitenleiste den Fensterbereich Property Inspector.
-
Fügen Sie im Codeblock Cell Metadata die Parameter, die Standardwerte der Parameter und die Ausgaben hinzu.
Zum Hinzufügen dieser Informationen können Sie den folgenden Code implementieren:
"papermill": { "parameters": { "group_by": "Day", "results_filter": "startedWithin <= \"30.0:0:0\"", } }, "systemlink": { "namespaces": [ "ni-testmanagement" ], "outputs": [ { "display_name": "This will show in dashboard output selector", "id": "data_frame_output", "type": "data_frame" }, { "display_name": "This will show in dashboard output selector", "id": "scalar_output", "type": "scalar" } ], "parameters": [ { "display_name": "Group By", "id": "group_by", "options": [ "Day", "System", "Test Program", "Operator", "Product" ], "type": "string" }, { "default_display": { "startedWithin": { "unit": "DAYS", "value": 30 } }, "display_name": "Results Filter", "id": "results_filter", "type": "test_monitor_result_query" }, ], "version": 2 }, "tags": [ "parameters" ] } -
Geben Sie für namespaces mindestens einen der folgenden Namensräume ein, je nachdem, wo Sie Ihren Bericht anzeigen möchten:
Namensraum Anzeige-Ort für Bericht ni-assetmanager Hardwareprodukte ni-testmanagement Testüberwachung Von Ihnen festgelegte Namensraum Jeder andere Client, der Namensräume zum Abfragen von Notebooks verwendet -
Geben Sie für Version eine der folgenden Versionen ein, je nachdem, wo Sie Ihr Notebook verwenden möchten:
Ziel Version - Sie können Ihre Daten in "Testerkenntnisse" unter "Berichte" anzeigen.
- Sie passen ein Notebook, das mit einer früheren Version von SystemLink installiert wurde, benutzerdefiniert an.
1 - Sie möchten mehrere Ausgaben mit einem Notebook ausgeben.
- Sie möchten einen skalaren Ausgabetyp verwenden.
- Sie möchten Ihre Daten in einem Dashboard anzeigen.
2
-
Definieren Sie die Parameter in einer Codezelle.
-
Stellen Sie eine Suchanfrage an einen SystemLink-Datendienst, um die Daten abzurufen, die Sie darstellen, analysieren oder verarbeiten möchten.
Um eine Suchanfrage an den Testüberwachungsdienst zu stellen, um Testergebnisse in aufsteigender Reihenfolge zu erhalten, können Sie den folgenden Code verwenden
results_api = ResultsApi(api_client=ApiClient(http_client_config)) query = ResultsAdvancedQuery(filter=filter, order_by=[ResultSortDefinitionObject(field=ResultField.STARTED_AT)]) query_response = await results_api.query_results_v2(post_body=query) results = query_response.results results_list = [result.to_dict() for result in results]
-
Formatieren Sie die Daten in einem Pandas-Daten-Frame so, wie Sie die aus der Suchanfrage resultierenden Daten gruppieren möchten.
Zum Gruppieren von Testergebnisse nach ihrem Status können Sie den folgenden Code verwenden:
group_names = [] for result in results_list: if grouping in result: group_names.append(result[grouping]) formatted_results = { 'id': [result['id'] for result in results_list], 'status': [result['status']['status_type'] for result in results_list], grouping: group_names } df_results = pd.DataFrame.from_dict(formatted_results) -
Konfigurieren Sie, wie Sie die Daten darstellen, analysieren und verarbeiten möchten.
Nachfolgend finden Sie einige Beispiele dafür, wie diese Daten konfiguriert werden können.
- Ausfiltern der Ergebnisse, die nicht in Ihrem Bericht enthalten sein sollen
- Konvertieren von Zeitstempeln
- Berechnen von Daten in einem Zeitrahmen
- Gruppieren von Daten auf eine besimmte Art und Weise
-
Konvertieren Sie den Pandas-Daten-Frame in das Ausgabeformat eines SystemLink-Berichts.
Um den Pandas-Data-Frame zu konvertieren, können Sie den folgenden Code verwenden:
result.append({ 'type': 'data_frame', 'id': 'data_frame_output', data': [{ 'format': 'XY', 'x': ['2018-11-17T00:00:00', '2018-11-18T00:00:00', ...], 'y': [94.0, 89.9, ...] }], 'config': { 'title': 'Title', 'graph': { 'axis_labels': ['x-axis-label', 'y-axis-label'], 'tick_labels': [{'x': 0, 'label': 'tick label 0', ... }], 'orientation': 'VERTICAL', 'plot_style': ['SCATTER'], 'plot_color': ['blue'] } } })Tipp Prüfen Sie den Wert der ID (data_frame_output), um sicherzustellen, dass die Testüberwachung die Ausgabe von Daten-Frames unterstützt. Der Wert muss in der Zelle und in den Code-Metadaten für die Parametercodezelle korrekt sein. Weitere Informationen finden Sie in Schritt 7 oben.Hinweis Wenn Sie das V2-Berichtsformat in einem Jupyter-Notebook verwenden, können Sie die Berichtsergebnisse nur auf einem Dashboard darstellen. -
Fügen Sie eine neue skalare Ausgabe hinzu.
Zum Hinzufügen einer skalaren Ausgabe können Sie den folgenden Code verwenden:
result.append({ 'type': 'scalar', 'id': 'scalar_output', 'config': { 'title': 'Scalar Output Title' }, 'value': 3 })Hinweis Weitere Informationen zum Hinzufügen einer skalaren Ausgabe finden Sie im Repository für SystemLink-Beispiele in GitHub. -
Protokollieren Sie die Ergebnisse mit Scrapbook.
Zum Parsen der SystemLink-Webanwendung auf Ergebnisse können Sie den folgenden Code verwenden:
sb.glue('result', result) - Fügen Sie dem Notebook eine neue Zelle hinzu.
- Wählen Sie in der Symbolleiste Markdown aus dem Dropdown-Menü aus, um Dokumentation zu Ihrem Code zum Notebook hinzuzufügen.
- Wählen Sie in der Menüleiste aus, um sicherzustellen, dass das Notebook Daten korrekt ausgibt und verarbeitet. Wenn das Notebook einen Fehler ausgibt, ergänzen Sie die Codezelle mit dem Fehler um import pdb; pdb.set_trace(). Durch Hinzufügen dieses Codes wird der integrierte Python-Debugger aktiviert.
- Klicken Sie auf Speichern.
- Optional: Um Ihr Notebook zu einem festgelegten Zeitpunkt auszuführen, erstellen Sie eine Analyse-Automatisierungsprozedur und fügen Sie einen geplanten Task hinzu.
Verwandte Inhalte
- Python-API-Referenz
- Installieren von zusätzlichen Python-Modulen
Mit Hilfe von Python-Modulen von Drittanbietern können Sie Ihre Testberichte weiter benutzerdefiniert anpassen.
- Jupyter-Benutzeroberfläche
- Struktur eines Notebook-Dokuments
- PyPI
- Integrierte "Magic"-Befehle
- Repository für SystemLink-Beispiele
- Hinzufügen oder Bearbeiten von Tasks für Analyse-Automatisierungsprozeduren
Mit Hilfe von Tasks können Sie Daten mit Analyse-Automatisierungsprozeduren analysieren.