2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

kintoneの様々なフィールドをMotionBoard/Dr.Sumに連携する方法

2
Posted at

kintoneとは?

kintoneは、サイボウズ社のプログラミングの知識がなくてもノーコードで業務システムを「シュシュッと」つくれるクラウドサービスです。
必要な項目(フィールド)を画面に配置し、登録・編集フォームが簡単に作れるようなサービスです。
https://kintone.cybozu.co.jp/

MotionBoardとは?

MotionBoardは、ウイングアーク1st社のBI製品です。(パッケージ版とクラウド版があります。)
特に、データの可視化や業務アプリとして構築できるような多くの機能を備えており、
ノンプログラミングで様々なデータを分析することができます。
https://www.wingarc.com/product/motionboard/

Dr.Sumとは?

Dr.Sumは、同じくウイングアーク1st社のBI製品です。(パッケージ版とクラウド版があります。)
いくつかの製品に分かれていますが、主にDr.Sumエンジン(データウェアハウス)にデータを蓄積し
、Dr.Sum Datalizerや上記のMotionBoardなどからデータ集計・分析を行えます。
https://www.wingarc.com/product/dr_sum/

背景

私の会社では、Dr.Sumに社内の様々なデータを集約しており、「Dr.Sum Datalizer for Excel」や 「MotionBoard」からデータ集計・分析ができる環境を構築しています。
kintoneのデータもDr.Sumに集約することで、kintone単体では出来ないようなデータ分析を行うことが出来るようになります。
尚、MotionBoardはバージョン6.0あたりから、Dr.Sumはバージョン5.7からCData Softwareが提供するJDBCドライバー(CData JDBCドライバー)を通じてデータ連携が出来るようになりました。

はじめに

kintoneには、様々なフィールドがあります。
例えば日付のフィールドを、MotionBoardやDr.Sumに文字列として連携していた場合、
いつからいつまでといった期間を指定したデータ抽出が出来なくなります。
そのため、日付のフィールドはDATE型で連携するなど、適切な型を選択することが大切です。

しかし、kintoneには結構多くの種類のフィールドがあり、それぞれ連携できるのかどうかを調べてみました。

やってみた

事前準備(kintoneの設定)

まず、kintone上に以下のように様々なフィールドを配置したアプリを作成しています。

これらのフィールドを、MotionBoardやDr.Sumに連携できるかどうかを調べていきます。
尚、Dr.Sumの連携オプション「Dr.Sum Connect」を使ってデータ連携することも出来るのですが、私の会社では「Dr.Sum Connect」を使っていないため、割愛させて頂きます。(情報提供をお待ちしています。)

文字列(1行)フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 文字 文字列テスト
Dr.Sum(CData) VARCHAR(文字列型) 文字列テスト

文字列(複数行)フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 文字 文字列テスト1
文字列テスト2
文字列テスト3
文字列テスト4
Dr.Sum(CData) VARCHAR(文字列型) 文字列テスト1
文字列テスト2
文字列テスト3
文字列テスト4

改行も維持されます。

数値フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 数値 16
Dr.Sum(CData) NUMERIC(数値) 16

計算フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 数値 256
Dr.Sum(CData) NUMERIC(数値) 256

ラジオボタンフィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 文字 sample2
Dr.Sum(CData) VARCHAR(文字列型) sample2

チェックボックスフィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 文字 "sample1", "sample2"
Dr.Sum(CData) VARCHAR(文字列型) "sample1", "sample2"

複数選択時は、カンマ区切りの状態で格納されますが、データ集計するためにはもうひと手間加工が必要ですね。

複数選択フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 文字 "sample1", "sample2"
Dr.Sum(CData) VARCHAR(文字列型) "sample1", "sample2"

こちらもチェックボックスと同様に、複数選択時は、カンマ区切りの状態で格納されますが、データ集計するためにはもうひと手間加工が必要ですね。

ドロップダウンフィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 文字 sample2
Dr.Sum(CData) VARCHAR(文字列型) sample2

日時フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 日時 2025/12/01 09:27:00
Dr.Sum(CData) TIMESTAMP(日時型) 2025-12-01T09:27:00.000+09:00

Dr.Sumでは、ちょっと問題がありました。
上記サンプルの通り、ISO 8601フォーマットでデータ取得できますが、そのままではDr.Sumにインポートできません。
そのため、関数を使って加工する必要があります。

DATE_FORMAT(日時, '%Y-%m-%d %T')

こうすることで、TIMESTAMP型として取り込むことができます。

また、そもそもkintoneは秒を扱うことができないようです。
上記の通り、00秒として扱われますので、秒単位の差分計算などはできません。
https://community.cybozu.dev/t/topic/4180
(文字列フィールドを使うなどの裏ワザはあるようです。)

日付フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 日付 2025/12/01
Dr.Sum(CData) DATE(日付型) 2025/12/01

時刻フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) - -
Dr.Sum(CData) TIME(時刻型) 09:35:00

MotionBoard(CData)では、以下のエラー表示により連携自体が出来ないようです。

MotionBoardで対応していないデータ型の項目が存在します。 (時刻[TIME])

DatalizerなどでTIME型を集計する方法は以下をご参照ください。
https://cs.wingarc.com/ja/kb/000003724

また、こちらも日時フィールドと同様に、秒は00秒として扱われますので、秒単位の差分計算などはできません。

添付ファイルフィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 文字 [ { "fileKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "name": "image01.jpg", "contentType": "image/jpeg", "size": "872744" } ]
Dr.Sum(CData) VARCHAR(文字列型) [ { "fileKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "name": "image01.jpg", "contentType": "image/jpeg", "size": "872744" } ]

MotionBoard・Dr.SumともにJSON文字列としてデータを取得することはできます。
Dr.SumやMotionBoardは、様々な関数などでデータを加工できますが、JSON文字列を加工する関数は無いと思います。(たぶん)

リンク(アドレス)フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 文字 https://www.yahoo.co.jp/
Dr.Sum(CData) VARCHAR(文字列型) https://www.yahoo.co.jp/

リンク(電話番号)フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 文字 00-0000-0000
Dr.Sum(CData) VARCHAR(文字列型) 00-0000-0000

リンク(メールアドレス)フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 文字 info@example.com
Dr.Sum(CData) VARCHAR(文字列型) info@example.com

ユーザー選択フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 文字 { "code": "info@example.com", "name": "鈴木 一郎" }
Dr.Sum(CData) VARCHAR(文字列型) { "code": "info@example.com", "name": "鈴木 一郎" }

組織選択フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 文字 { "code": "XXXX_xxxxxx", "name": "XXXX" }
Dr.Sum(CData) VARCHAR(文字列型) { "code": "XXXX_xxxxxx", "name": "XXXX" }

グループ選択フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 文字 { "code": "everyone", "name": "Everyone" }
Dr.Sum(CData) VARCHAR(文字列型) { "code": "everyone", "name": "Everyone" }

レコード番号フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 数値 10
Dr.Sum(CData) NUMERIC(数値) 10

作成者フィールド、更新者フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 文字 info@example.com
Dr.Sum(CData) VARCHAR(文字列型) info@example.com

作成日時フィールド、更新日時フィールド

連携方法 結果 データ型 サンプル
MotionBoard(CData) 日時 2025/12/01 09:27:00
Dr.Sum(CData) TIMESTAMP(日時型) 2025-12-01T09:27:00.000+09:00

こちらも日時フィールドと同じで、Dr.Sumでは関数を使って加工する必要があります。

DATE_FORMAT(日時, '%Y-%m-%d %T')

秒が表示されないのもkintoneの仕様です。(チョットドウナノヨ)

終わりに

今回、kintoneの時刻フィールドがMotionBoardに連携できない・・と聞いたので、全フィールドを試してみました。
結果的に、完全に取り込めないのは時刻フィールドのみでしたが、ちょっとクセのあるフィールドもありましたね。
このあたりが、意識せずに取り込めるようになるといいですね。

サイボウズ社のkintone、ウイングアーク1st社のDr.Sum/MotionBoard、どれも人気上昇中の製品・サービスですので、さらに利用者が増え、この記事が役立つことを願っています。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?