TECH BLOG

MENU

オンプレクラウド

Dr.Sum

Dr.Sum

Dr.Sum Ver. 5.7から、CDataアダプターを使用することでJSON、XML形式のファイルや、Salesforce、KintoneからデータをDr.Sumに直接インポートしたり、CSVファイルに関数を使いながらインポートをすることが可能になりました!本記事ではCDataアダプターを使った「シンプルなJSONファイルとネストされたオブジェクト配列のJSONファイルのインポート」を紹介していきます。

 

提供しているCDataアダプターと接続確認済みのデータソースは以下をご参照ください。

【Dr.Sum】CDataアダプターの配布および接続確認済みデータソースについて

 

  • CDataアダプターを利用したインポートはDr.Sum Ver. 5.7より追加された機能です。本機能をお試しの際は現在利用中のバージョンをご確認ください。

 

CDataアダプターを使ったCSVファイルのインポートはこちらの記事で詳しくご紹介しております。

 

この機能でできること

Ver. 5.6以前はJSONファイルのインポートはできませんでしたが、ver. 5.7からCDataアダプターの利用で、標準機能で関数を使って加工しながらJSONファイルのインポートができるようになりました。CDataアダプターの接続文字列を指定することでネストされたオブジェクト配列のJSONファイルもインポート可能です。外部サービスのAPIで出力されるJSONファイルとの連携などDr.Sumに集約できるデータの幅が広がりました!

 

シンプルなJSONファイルのインポート

インポートするJSONファイル

以下のようなシンプルな構造のJSONファイルをインポートする設定をご紹介します。

{
    "age": 20,
    "gender": "M",
    "first": "John",
    "last": "Doe"
}

設定方法

CDataアダプターを使ったインポートの大まかな手順はデータソースによらず共通です。
以下のページよりJSONファイルのCDataアダプターをダウンロードし「cdata.jdbc.json.jar」をDr.Sumサーバーの任意のフォルダに配置します。

【Dr.Sum】CDataアダプターの配布および接続確認済みデータソースについて

 

以下設定例と記事:「【Ver. 5.7から追加!】関数を使って加工しながらCSVインポートする」の「事前準備」「CDataアダプターを使ったCSVファイルのインポート設定」を参考に設定します。

 

設定例

 

  • [JDBCドライバー情報]画面の[名前][ドライバー][フォーマット]は以下のように入力します。
    名前 任意の名前
    ドライバー cdata.jdbc.json.JSONDriver
    フォーマット jdbc:cdata:json:DataModel=Relational;URI=[uri];
  • [uri]には、ファイルのパスを記載します。例) C:/temp/sample.json
  • その他の接続オプションの指定が必要な場合は、CDataアダプター配置時にダウンロードしたZipファイル内の、helpフォルダーにあるhelp.htmを参照して「接続文字列オプション」の項をご参照ください。

 

VTB Creatorで関数を設定し新しく項目を作成することも可能です。画像では名と姓を連携した項目「氏名」を作成しています。プレビューで無事JSONファイルの参照、関数の設定ができていることが確認できますね!

  • 使用できる関数は、CDataアダプター配置時にダウンロードしたZipファイル内の、helpフォルダーにあるhelp.htmの[SQL準拠]-[SQL関数]の項をご参照ください。

 

ネストされたオブジェクト配列のJSONファイルのインポート

インポートするJSONファイル

続いて以下のようなネストされたオブジェクト配列のJSONファイルをインポートする設定をご紹介します。

{
  "people": [
    {
      "personal": {
        "age": 20,
        "gender": "M",
        "name": {
          "first": "John",
          "last": "Doe"
        }
      },
      "vehicles": [
        {
          "type": "car",
          "model": "Honda Civic",
          "insurance": {
            "company": "ABC Insurance",
            "policy_num": "12345"
          },
          "maintenance": [
            {
              "date": "07-17-2017",
              "desc": "oil change"
            },
            {
              "date": "01-03-2018",
              "desc": "new tires"
            }
          ]
        },
        {
          "type": "truck",
          "model": "Dodge Ram",
          "insurance": {
            "company": "ABC Insurance",
            "policy_num": "12345"
          },
          "maintenance": [
            {
              "date": "08-27-2017",
              "desc": "new tires"
            },
            {
              "date": "01-08-2018",
              "desc": "oil change"
            }
          ]
        }
      ],
      "source": "internet"
    },
    {
      "personal": {
        "age": 24,
        "gender": "F",
        "name": {
          "first": "Jane",
          "last": "Roberts"
        }
      },
      "vehicles": [
        {
          "type": "car",
          "model": "Toyota Camry",
          "insurance": {
            "company": "Car Insurance",
            "policy_num": "98765"
          },
          "maintenance": [
            {
              "date": "05-11-2017",
              "desc": "tires rotated"
            },
            {
              "date": "11-03-2017",
              "desc": "oil change"
            }
          ]
        },
        {
          "type": "car",
          "model": "Honda Accord",
          "insurance": {
            "company": "Car Insurance",
            "policy_num": "98765"
          },
          "maintenance": [
            {
              "date": "10-07-2017",
              "desc": "new air filter"
            },
            {
              "date": "01-13-2018",
              "desc": "new brakes"
            }
          ]
        }
      ],
      "source": "phone"
    }
  ]
}

設定方法

CDataアダプターでは、JSONファイルのモデル化パターン(DataModel)や配列構造(JSONPath)を、接続文字列として明示的に指定することで、ネストした配列オブジェクトも1つのテーブルとして解釈しながらインポートすることが可能です。

参考:CData JSON/XML Driver モデル化アプローチ解説

 

Dr.Sumでのインポート設定時には[JDBCドライバー情報]画面の[フォーマット]を以下のように設定します。

設定例

  • [JDBCドライバー情報]画面の[フォーマット]を以下のように入力します。
フォーマット jdbc:cdata:json:DataModel=FlattenedDocuments;URI=[uri];JSONPath=’$.people;$.people.vehicles;$.people.vehicles.maintenance;’;
  • [uri]には、ファイルのパスを記載します。例) C:/temp/sample.json
  • その他の接続オプションの指定が必要な場合は、CDataアダプター配置時にダウンロードしたZipファイル内の、helpフォルダーにあるhelp.htmを参照して「接続文字列オプション」の項をご参照ください。

 

ネストされたオブジェクト配列のJSONファイルも参照できましたね!

 

さいごに

本記事ではDr.Sum Ver. 5.7で可能になったCDataアダプターを使用した「シンプルなJSONファイルとネストされたオブジェクト配列のJSONファイルのインポート」をご紹介しました!CDataアダプターの利用でさらに活用できるデータの幅が広がったDr.Sum、ぜひご活用ください。

この記事にリアクションしてみませんか?

  • 分かりやすい (1)
  • 問題が解決した (0)
励みになります!

関戸

プロフィールへ >

MotionBoardとDr.Sumのプリセールスをしております。自宅をこよなく愛するインドアです。 Dr.Sumを中心にわかりやすい記事作りを目指します。よろしくお願いいたします!

Related article

Related article関連記事

Pick up

Pick upおすすめ記事

【脱Excel】MotionBoardの入力機能で業務アプリをつくる

公開:2024.08.05
更新:2024.08.05

分かりやすい

2

解決した

0
  • データ入力
  • デザイン
  • コンテナ

MotionBoard

【まとめ】SVF Cloud帳票をinvoiceAgentに連携する方法

公開:2024.04.18
更新:2024.08.07

分かりやすい

2

解決した

2
  • 帳票作成・出力
  • システム連携
  • 電帳法
  • 文書定義
  • 処理定義

SVF

Dr.Sum Copilotをインストールしてみた【OpenAI】

公開:2024.04.05
更新:2024.04.18

分かりやすい

2

解決した

0
  • Copilot

Dr.Sum

Ranking

Rankingランキング

1

Excelのデータを加工したい。~変換(横持ち⇔縦持ち)について~

公開:2021.01.19
更新:2024.05.08

分かりやすい

6

解決した

1
  • データ取り込み
  • データ加工

Dr.Sum

2

【あの頃に戻りたい】バックアップから任意のテーブルだけを戻す方法

公開:2023.11.07
更新:2023.11.20

分かりやすい

1

解決した

0
  • 設定

Dr.Sum

3

【DELETE-INSERT】特定期間のデータのみ洗い替えたい!【手動編】

公開:2024.01.10
更新:2024.05.08

分かりやすい

0

解決した

0
  • データ取り込み
  • SQL

Dr.Sum

Info

Information

ウイングアーク1stからのお知らせ

int(59)