to_hb_results() メソッド
HCL データフレームをリザルト テーブルに保存します。
メモ
to_hb_results() メソッドを使用するには、HCL スクリプト エディターの[変数]ウィンドウでパスワード変数 v_hb_token を作成し、HighBond API トークンを変数値として割り当てる必要もあります。詳細については、「[変数]ウィンドウを使用して HCL 変数を定義する」を参照してください。
構文
dataframe_name.to_hb_results(table_id = リザルト テーブル ID 番号, column_names = {"列名":"リザルトの表示名", "...n":"...n"}|ディクショナリ オブジェクト, overwrite = True|False)
パラメーター
名前 | 説明 |
---|---|
table_id = リザルト テーブル ID 番号 | リザルト テーブルの数値 ID。 |
column_names = {"列名" : "リザルトの表示名", "...n" : "...n"} 省略可能 |
データフレーム内の列名と、リザルトの対応するフィールドの表示名とのマッピング。 標準 Python ディクショナリを使用して、1 つ以上の列のマッピングを作成します。 表示名を指定するのは、宛先のリザルトテーブルのフィールドのみです。リザルトの基本のフィールド名は変更されません。 |
column_names = ディクショナリ オブジェクト 省略可能 |
データフレーム内の 1 つ以上の列名を、リザルト内の対応するフィールドの表示名にマッピングする、既存のディクショナリオブジェクト。 to_hb_results() 内で列マッピングを作成する代わりに、別のディクショナリーにマッピングを作成し、 to_hb_results() 内でそのディクショナリー名のみを指定することができます。リザルトの複数の宛先テーブルに対して同じ表示名のセットを作成する必要がある場合は、この方法がより効率的です。 表示名を指定するのは、宛先のリザルトテーブルのフィールドのみです。リザルトの基本のフィールド名は変更されません。 |
overwrite = True | False |
このパラメーターを省略した場合、デフォルトでは、保存されたデータは最後に追加されます。 |
戻り値
成功した場合、戻りコードは 202 です。失敗した場合、エラー メッセージ発生します。
例
データフレームをリザルト テーブルに保存する
customer_summary データフレームを ID 587293 のリザルト テーブルに保存します。リザルト テーブルの既存のレコードは上書きされます。
customer_summary.to_hb_results(table_id = "587293", overwrite = True)
データフレームを保存し、リザルトにフィールド表示名を作成する
customer_summary データフレームを ID 587293 のリザルト テーブルに保存します。同時に、宛先のリザルトテーブルのフィールドに 3 つの表示名を作成します。
リザルト:
- どのフィールドも顧客番号表示名は使用しません
- 最初のフィールドは名表示名を使用します
- 最後のフィールドは姓表示名を使用します
customer_summary.to_hb_results(table_id = "587293", column_names = {"No":"Customer Number", "First":"First Name", "Last":"Last Name"}, overwrite = True)
複数のデータフレームを保存し、既存のディクショナリを使用してフィールド表示名を作成する
単一のディクショナリオブジェクト(display_names)を使用して、3 つのリザルトテーブルに同じ表示名セットを作成します。
display_names = {"No":"Customer Number", "First":"First Name", "Last":"Last Name"}
customer_summary_us.to_hb_results(table_id = "587293", column_names = display_names, overwrite = True)
customer_summary_eu.to_hb_results(table_id = "587294", column_names = display_names, overwrite = True)
customer_summary_ap.to_hb_results(table_id = "587295", column_names = display_names, overwrite = True)
備考
データ型のマッピング
HCL データフレームをリザルトのテーブルに保存すると、データフレーム内の列データ型がテーブルのフィールドデータ型に自動的にマッピングされます。
HCL データフレームの列のデータ型 | リザルトテーブルのフィールドのデータ型 |
---|---|
オブジェクト | 文字 |
カテゴリ | 文字 |
int64 | 数値 |
float64 | 数値 |
datetime64[ns] | 日付時刻 |
timedelta64[ns] | 数値 |
bool | 論理 |
メタデータフィールドとその他のフィールドの自動削除
データ分析ワークフローがデータをリザルトからロボットにラウンドトリップしてリザルトに戻す場合、HCL データフレーム内のmetadataフィールドとextrasフィールドは自動的に抑制され、リザルトには保存されません。HCL データフレームをリザルトの同じテーブルに保存しても、新しいテーブルに保存しても、フィールドは削除されます。
metadata フィールドとextrasフィールドはリザルトのシステム生成フィールドであり、保護されません。これらのフィールドの内容は、編集可能であれば、リザルトでのみ編集できます。このため、ロボットからこれらのフィールドに上書きや最後への追加を行うことはできません。
メモ
ラウンドトリップしたデータをリザルトに保存すると、metadataフィールドとextrasフィールドは保存されたデータとともに表示されます。ただし、これらはリザルトで自動的に作成される新しいフィールドです。ロボットに存在するフィールドではありません。
以下のmetadataフィールドとextrasフィールドがロボットに存在すると、保存済みデータから自動的に削除されます。
-
metadata.priority
-
metadata.status
-
metadata.publish_date
-
metadata.publisher
-
metadata.assignee
-
metadata.group
-
metadata.updated_at
-
metadata.closed_at
-
extras.record_id
-
extras.collection
-
extras.results_table