Garoon の予定データをユーザー指定・横断で取得する機能が追加されました:CData Garoon Driver

by 杉本和也 | 2021年05月26日

f:id:sugimomoto:20210526114157p:plain こんにちは。CData Software Japanリードエンジニアの杉本です。

今回はCData Garoon Driverで新しく追加された機能である「予定」データのユーザー指定、ユーザー横断で取得する機能を紹介したいと思います。

www.cdata.com

f:id:sugimomoto:20210526113637p:plain

なお、この機能はすべてのテクノロジーラインナップが対象となっています。

ODBC・JDBC・ADO.NET・Excel Add-in 、CDataSyncなどで利用可能です。

通常の予定の取得

今回取得したいデータは以下のようなGaroonで管理されているユーザーの予定データです。

f:id:sugimomoto:20210526113644p:plain

CData Driverでは以下のようなSQLで予定データを取得することができるのですが

SELECT * FROM [Events];

取得できる予定は接続に使っているユーザー情報に紐付いた予定データだけになっていました。

f:id:sugimomoto:20210526113732p:plain

そのため、今までのバージョンでは他のユーザーの予定を取得したい場合、接続情報に指定しているユーザーを変更する必要があり、ちょっと手間でした。

cdn.cdata.com

f:id:sugimomoto:20210526113740p:plain

ユーザー指定で予定を取得する場合

この予定の取得が最新バージョンのドライバーでユーザー指定ができるようになりました!

Where句の条件式に「TargetType」に「user」を指定し、「Target」で対象となるユーザーIDを指定します。

例えば、ユーザーIDが「1」となっているユーザーの予定を取得する場合は、以下のようなクエリになります。

SELECT * FROM [Events] WHERE [targetType] = 'user' AND [target] = 1;

f:id:sugimomoto:20210526113747p:plain

なお、ユーザーIDは「Users」テーブルから取得できます。

SELECT * FROM [Users];

f:id:sugimomoto:20210526113753p:plain

ユーザー横断で予定を取得する場合

ここで気になるのは、「すべてのユーザーの予定を取得したい時は、ユーザーの数分だけSQLを実行しないといけないの? UNION?」ということではないでしょうか。

最新バージョンでは、そこもシンプルにリクエストできるようになっています。

以下のようにサブクエリを使って、UsersテーブルからユーザーIDを取得し、INで条件指定を行います。

SELECT * FROM [Events] WHERE ([targetType] = 'user') AND ([target] IN (SELECT Id FROM [Users]));

これで以下のように複数ユーザーの予定を取得できます。

f:id:sugimomoto:20210526113759p:plain

CDataSyncを使って、ユーザー横断で予定を複製

この機能はもちろん、CDataSyncでも利用できます。ユーザーの予定を横断的に取得して、活動状況を分析したい時とかに良いですね。

www.cdata.com

設定は簡単でGaroonの接続を作成し、

f:id:sugimomoto:20210526113805p:plain

対象のジョブを作成したら、カスタムクエリの追加で以下のSQLを入力します。

REPLICATE [Events] SELECT * FROM [Events] WHERE ([targetType] = 'user') AND ([target] IN (SELECT Id FROM [Users]))

f:id:sugimomoto:20210526113811p:plain

これで、ユーザー横断的な予定のレプリケーションが実施できます。

f:id:sugimomoto:20210526113816p:plain

おわりに

これ以外にも日々様々な追加機能が登場していますので、「こんなことできないの?」「こういう機能がほしい」といったリクエストがあれば、お気軽にお問い合わせください。

https://www.cdata.com/jp/support/submit.aspx

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。