CData Software Blog

クラウド連携のCData Software の技術ブログです。

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

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

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

www.cdata.com

f:id:sugimomoto:20210526113637p:plain

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

ODBCJDBCADO.NETExcel 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