re : dash에서 파이썬 사용 vol.1
현재 사내의 BI 툴로서 re:dash를 도입하고 있습니다만, 이 아이가 단지 쿼리 쓰는 것 이외에, python도 데이터 소스로서 사용할 수 있는 것 같다.
그래서 C:6년/PHP:3년인 초보자 Pythonista, 사내 의뢰의 대응을 위해 Python의 길에 발을 디디었습니다.
아, 우리의 re:dash는 현재 「2.0.0+b2990」입니다. 흠뻑 낡습니다.
vol.1 첫날 도전
원래 파이썬 문법을 이해하지 못합니다.
구구입니다. 해결.
아니 여러가지 유의가 달라 곤란하고 있습니다만! 어쨌든 루비 같은
파이썬으로 출력 결과를 만들려면 어떻게해야합니까?
사내 샘플을 참고로 우선 더해 보았다
일단 값은 취해졌지만, 왜 이렇게 되어 있는지 모른다.column
를 바꾸면 컬럼명이, value
를 바꾸면 대상값이 변화하는 것을 알았다. 그만큼.
result = {}
add_result_column(result, 'column', '', 'string')
add_result_row(result, {'column' : 'value'})
문서가 있었다.
큰 양도없는 경악의 단순함.
코드가 모든 것을 이야기하고 있다고 생각하지만, 양이 적기 때문에 Appendix를 번역했습니다.
htps : // Reda sh. 이오 / 헤르프 온 p 예보 / 호 w rd를 rks / 돗자 - 그렇게 r 세레 하는 lts - 푸마 t. HTML
문서를 읽은 후에
htps : // 기주 b. 이 m/게 t레다 sh/레다 sh/bぉb/마s테 r/레다 sh/쿠에 ry_루네 r/py 텐. py
이하의 메소드들이 python에서는 헬퍼 메소드로서 사용할 수 있을 것 같습니다만, 문서가 일절 없기 때문에, 구현을 읽지 않으면 안 되는 것 같다.
result = {}
add_result_column(result, 'column', '', 'string')
add_result_row(result, {'column' : 'value'})
execute_query
def execute_query(data_source_name_or_id, query):
"""Run query from specific data source.
Parameters:
:data_source_name_or_id string|integer: Name or ID of the data source
:query string: Query to run
"""
add_result_column
def add_result_column(result, column_name, friendly_name, column_type):
"""Helper function to add columns inside a Python script running in Redash in an easier way
Parameters:
:result dict: The result dict
:column_name string: Name of the column, which should be consisted of lowercase latin letters or underscore.
:friendly_name string: Name of the column for display
:column_type string: Type of the column. Check supported data types for details.
"""
add_result_row
def add_result_row(result, values):
"""Helper function to add one row to results set.
Parameters:
:result dict: The result dict
:values dict: One row of result in dict. The key should be one of the column names. The value is the value of the column in this row.
"""
그런 결과를 만드는 코드를 re : dash에 써 보았습니다.
result = {}
add_result_column(result, 'id', 'id', 'integer')
add_result_column(result, 'name', 'name', 'string')
add_result_column(result, 'gender', 'gender', 'string')
add_result_column(result, 'age', 'age', 'integer')
add_result_row(result, {'id':10, 'name':'Yoshida', 'gender':'male', 'age':25})
add_result_row(result, {'id':11, 'name':'Tanaka', 'gender':'female', 'age':22})
(∩´∀`)∩
결론
우선 어떻게든 그것 같은 것 할 수 있었습니다!
다음은 실제 DB에 쿼리를 던져 값을 가공하고 싶다면…
또 다음 엔트리로 만나요.
끝.
Appendix
데이터 소스 결과 형식 정보
사용할 수있는 것은 다음 유형입니다.
re:dash의 모든 데이터 소스는 다음과 같은 결과를 JSON 형식으로 반환합니다.
{
"columns" : [
{
// 必須: 結果内で重複しないカラム名を付ける
"name" : "COLUMN_NAME",
// 必須: カラムのフレンドリ名。現在は未使用なのでnameと一緒で大丈夫
"friendly_name" : "FRIENDLY_NAME",
// サポートされてる型はinteger, float, boolean, string (デフォルト), datetime (ISO-8601形式)
// 型が不明ならstringを使うこと
"type" : "VALUE_TYPE"
},
...
],
"rows" : [
{
// nameにはカラム定義に含まれているnameを使う
// VALUEはJSONとして有効な値を使う。日付型はISO-8601形式の文字列で。
"name" : VALUE,
"name2" : VALUE2
},
...
]
}
예:
{
"columns": [
{
"name": "date",
"type": "date",
"friendly_name": "date"
},
{
"name": "day_number",
"type": "integer",
"friendly_name": "day_number"
},
{
"name": "value",
"type": "integer",
"friendly_name": "value"
},
{
"name": "total",
"type": "integer",
"friendly_name": "total"
}
],
"rows": [
{
"value": 40832,
"total": 53141,
"day_number": 0,
"date": "2014-01-30"
},
{
"value": 27296,
"total": 53141,
"day_number": 1,
"date": "2014-01-30"
},
{
"value": 22982,
"total": 53141,
"day_number": 2,
"date": "2014-01-30"
}
]
}
Reference
이 문제에 관하여(re : dash에서 파이썬 사용 vol.1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/terra_yucco/items/fc4d3b3270a168dbd18d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)