Betreff: Dash ist für Ingenieure gedacht, die keine Bildschirme erstellen möchten Es ist sehr praktisch, einen Bildschirm oder ein Diagramm zu erstellen, indem Sie einfach eine Abfrage erstellen. Aber möchten Sie ein bisschen mehr Daten erhalten als nur Abfragen? Möchten Sie außerdem Abfrageergebnisse aus verschiedenen Datenquellen kombinieren? ??
Betreff: Dash hat eine "Python-Datenquelle" Mit einer kleinen Einstellung können Sie mit Python Daten bearbeiten. Dies war sehr praktisch, daher werde ich dieses Mal die Hauptfunktionen und die Verwendung der Einstellungsmethode vorstellen.
Standardmäßig sind Python-Datenquellen deaktiviert. Wenn Sie die folgenden Einstellungen hinzufügen, können Sie Python aus der Datenquelle angeben.
/opt/redash/.env
export REDASH_ADDITIONAL_QUERY_RUNNERS=redash.query_runner.python
sudo supervisorctl restart redash_server
Klicken Sie unter "Datenquellen" auf "+ Neue Datenquellen". Da "Python" für "Typ" ausgewählt werden kann, wählen Sie es aus, geben Sie einen geeigneten Namen in "Name" ein und "Speichern" Ermöglicht die Auswahl einer Python-Datenquelle beim Erstellen einer Abfrage.
Bereiten Sie die Daten vor dem Schulbesuch vor. Ich werde die Details in diesem Artikel weglassen, aber lassen Sie uns die regelmäßige Ausführung festlegen und nur die erforderlichen Daten zum erforderlichen Zeitpunkt erfassen und zwischenspeichern.
Dieses Mal werde ich mich auf den Zweck vorbereiten, "die numerischen Werte zwischen verschiedenen Datenquellen zu kombinieren und anzuzeigen". Zwei einfache Abfrageergebnisse werden wie unten gezeigt vorbereitet.
Notieren Sie sich die Abfrage-ID der erstellten Abfrage. Diesmal lautet diese Abfrage "Abfrage-ID = 76"
Notieren Sie sich die Abfrage-ID der erstellten Abfrage. Diesmal lautet diese Abfrage "Abfrage-ID = 77"
Welche Art von Annahme beiseite w Aus Abfrageergebnissen aus zwei verschiedenen Datenquellen Versuchen wir, die COUNTs mit derselben ID zu addieren und anzuzeigen.
Rufen Sie das Abfrageergebnis mithilfe der API ab, schreiben Sie den Prozess, den Sie mit Python ausführen möchten, und legen Sie das Ergebnis mit der API OK fest
#Ruft das Abfrageergebnis der angegebenen Abfrage-ID ab
queryResults1 = get_query_result(76)
queryResults2 = get_query_result(77)
result = {}
for rows1 in queryResults1['rows']:
for rows2 in queryResults2['rows']:
if rows1['id'] == rows2['id']:
#Zeilendaten hinzufügen
add_result_row(result, {
'id' :rows1['id'],
'count' :rows1['count'] + rows2['count']
})
break
#Geben Sie den Spaltennamen an
add_result_column(result, 'id', '', 'integer')
add_result_column(result, 'count', '', 'integer')
API | Inhalt | Beispiel |
---|---|---|
get_query_result(queryId) | Ruft das Abfrageergebnis der angegebenen Abfrage-ID ab | get_query_result(1) |
add_result_row(result, values) | Zeilendaten hinzufügen | add_result_row(result, {'id':rows['id'],'count':rows['count']}) |
add_result_column(result, columnName, friendlyName, columnType) | Geben Sie den Spaltennamen an | add_result_column(result, 'id', '', 'integer') |
execute_query(dataSourceName, query) | Führen Sie eine Abfrage für dataSourceName aus, um das Ergebnis zu erhalten | execute_query('testDataSource', 'select * FROM test WHERE id = 1') |
Weitere Informationen finden Sie unter Aktuelle Re: Dash-interne Quelle.
Sie können es verwenden, indem Sie ein Modul aus dem Einstellungsbildschirm der Datenquelle hinzufügen. Wenn Sie mehr als eine hinzufügen möchten, fügen Sie diese durch Kommas getrennt hinzu. Nach dem Speichern können Sie es verwenden, indem Sie es einfach in den Code importieren.
Da Sie normalerweise Code in Python schreiben können, können Sie eine etwas komplizierte Verarbeitung durchführen. Ich denke, dass der Anwendungsbereich erweitert wird. Vor allem ist es toll, wenn Sie keinen Bildschirm erstellen müssen. .. Bitte benutzen Sie es!
Ich möchte Re: Dash aktualisieren Zusammenfassung nützlicher Tricks mit Re: Dash
Recommended Posts