Re: Dash est pour les ingénieurs qui ne veulent pas faire d'écrans Il est très pratique de créer un écran ou un graphique simplement en formant une requête. Mais voulez-vous obtenir un peu plus de données que de simples requêtes? De plus, souhaitez-vous combiner les résultats de requêtes provenant de différentes sources de données? ??
Re: Dash a une "source de données python" Avec un petit réglage, vous pourrez jouer avec les données avec python. C'était très pratique, donc cette fois je vais présenter les principales fonctions et l'utilisation de la méthode de réglage.
Par défaut, les sources de données python sont désactivées. Si vous ajoutez les paramètres suivants, vous pouvez spécifier python à partir de la source de données.
/opt/redash/.env
export REDASH_ADDITIONAL_QUERY_RUNNERS=redash.query_runner.python
sudo supervisorctl restart redash_server
Cliquez sur «+ Nouvelles sources de données» dans «Sources de données».
Puisque Python
peut être sélectionné pour Type
, sélectionnez-le, entrez un nom approprié dans Nom
, et enregistrez
Vous permet de sélectionner une source de données Python lors de la création d'une requête.
Préparez les données avant d'aller à l'école à l'avance. J'omettrai les détails de cet article, mais définissons une exécution périodique et acquérons et mettons en cache uniquement les données nécessaires au moment opportun.
Cette fois, je me préparerai dans le but de "combiner et afficher les valeurs numériques entre différentes sources de données". Deux résultats de requête simples sont préparés comme indiqué ci-dessous.
Notez l'ID de requête de la requête créée. Cette fois, cette requête est «ID de requête = 76»
Notez l'ID de requête de la requête créée. Cette fois, cette requête est «ID de requête = 77»
Quel genre d'hypothèse mis à part w À partir des résultats de requête obtenus à partir de deux sources de données différentes Essayons d'additionner les COUNT avec le même ID et de les afficher.
Obtenez le résultat de la requête à l'aide de l'API, écrivez le processus que vous souhaitez faire avec python et définissez le résultat avec l'API OK
lignes ['lignes'] [nombre de lignes] [nom de colonne] = valeur
.#Obtenir le résultat de la requête de l'ID de requête spécifié
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']:
#Ajouter des données de ligne
add_result_row(result, {
'id' :rows1['id'],
'count' :rows1['count'] + rows2['count']
})
break
#Spécifiez le nom de la colonne
add_result_column(result, 'id', '', 'integer')
add_result_column(result, 'count', '', 'integer')
API | Contenu | Exemple |
---|---|---|
get_query_result(queryId) | Obtenir le résultat de la requête de l'ID de requête spécifié | get_query_result(1) |
add_result_row(result, values) | Ajouter des données de ligne | add_result_row(result, {'id':rows['id'],'count':rows['count']}) |
add_result_column(result, columnName, friendlyName, columnType) | Spécifiez le nom de la colonne | add_result_column(result, 'id', '', 'integer') |
execute_query(dataSourceName, query) | Exécuter une requête sur dataSourceName pour obtenir le résultat | execute_query('testDataSource', 'select * FROM test WHERE id = 1') |
Pour plus d'informations, veuillez lire Actual Re: dash source interne
Il peut être utilisé en ajoutant un module à partir de l'écran de configuration de la source de données. Si vous souhaitez en ajouter plusieurs, ajoutez-les séparés par des virgules. Après l'enregistrement, vous pouvez l'utiliser simplement en l'important dans le code.
Puisque vous pouvez écrire du code en python normalement, vous pouvez effectuer un traitement un peu compliqué. Je pense que la gamme d'utilisation s'élargira. Surtout, c'est génial de ne pas avoir à faire d'écran. .. Veuillez l'utiliser!
Je souhaite mettre à niveau Re: Dash Résumé des astuces utiles avec Re: Dash
Recommended Posts