CData Excel Add-in のGUI でのフィルタリング機能を使ってみる（kintone 編）

#CData Excel Add-in とは？
CData Excel Add-in は、kintone やSalesforce などのクラウドデータをデスクトップExcel から読み書き双方向で利用できるアドイン製品です。

複数データの一括入力・更新やメンテナンスから、Excel でのデータ分析や可視化に使われています。やっぱり、Excel の入力、ビジュアライズUI としての機能は大変優れています。データはクラウドで集中管理されながらも、使い慣れた・使いやすいExcel UI およびデスクトップでのデータ活用がExcel Add-in の価値です。

#Excel Add-in version 2018 で「フィルタリング機能」を強化
データセットが大きい場合には、Excel に全レコードをロードしてから操作するということが難しいです。これまでは「クエリー」ボックスにカスタムSQL を手打ちすることでフィルタリングやソートを行うことができました。ただし、これはSQL を書けないユーザーにとっては使えない機能でした。

2018 版では、Excel Add-in にデータ選択画面からGUI でのフィルタリング機能が追加されました。これによりSQL を書かないExcel ユーザーでもデータの絞り込みが簡単にできるようになりました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/116843/c193c8b3-6512-7811-6d9f-7abc5179e7f0.png)

この記事では、フィルタリング機能の使い方を説明します。

#CData Excel Add-in for kintone のダウンロード、接続の確立
## アドインのダウンロード
CData wesite から[CData Excel Add-in for kintone](https://www.cdata.com/jp/drivers/kintone/excel/) をダウンロードします。30日の評価版があります。
ダウンロードしたら、.exe ファイルを開いて製品のインストールを行います。

##kintone との接続の確立
インストールが完了したら、Excel を開きます。
Excel のタブに「CDATA」タブができています。タブをクリックするとCDATA リボンが表示されます。中からkintone のアイコンをクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/116843/37a67d3f-9c87-ab4f-5764-3e105d3aea0e.png)

kintone アイコンをクリックするとデータ選択画面が開きます。接続の確立を始めます。
「接続ウィザード」を開くと接続プロパティ画面が出てきます。
最低限以下の接続プロパティに値を入力します。

|プロパティ       | Note                                        |
|:-----------------|:-----------------|
|Password          | kintone にログインするパスワード            |
|Url               | kintone のURL                             |
|User              | ログインするkintone ユーザー                |

![image.png](https://qiita-image-store.s3.amazonaws.com/0/116843/b7238e1a-fb5e-01cb-d62d-ff2a14a22f67.png)

接続テストを押して、接続を確認します。接続が成功したらOK を押して接続を確立します。

#接続データの選択とフィルタリング設定
接続が確立されると「テーブル」のドロップダウンにアプリ名がリスト表示されます。アプリ一つ一つがテーブルとなっています。テーブルを選択します。
選択すると「列」にテーブルのスキーマ情報が表示されます。どんなカラム（列）があって、それぞれがどんなデータ型になっているかなどです。

ここに「フィルタ」と「値」というインターフェースがあります。ここでフィルタ条件を選んで、フィルタ値を入力することで、フィルタリング設定ができます。

フィルタ演算子の種類：

|フィルタ演算子       |
|:-----------------|
|次の値に等しい |
|次の値に等しくない |
|次の値で始まる |
|次の値で始まらない |
|次の値で終わる |
|次の値で終わらない |
|次の値を含む |
|次の値を含まない |

![image.png](https://qiita-image-store.s3.amazonaws.com/0/116843/e48d7ef1-28e8-d740-8c1e-a600eeac0e62.png)

早速、ジャンル：ヘビメタ、売上枚数（百万）：100、を条件として入力します。
フィルタ条件の入力が下の「クエリー」欄に反映されます。これで「OK」を押して実行します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/116843/dd9d077a-f3c0-459c-6e6d-365b20649902.png)

するとジャンルと売上枚数でフィルタされたデータがExcel にロードされました。フィルタリングはサーバーサイドで行われており、大きなデータセットから特定の項目を抜くときなどはパフォーマンスや通信量が効率化されています。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/116843/ada72feb-3a27-7cec-5510-8fae3a71904e.png)

このように、SQL 文を書かないExcel ユーザーでも簡単に使いたいデータをフィルタリングしてExcel で利用することができます。

#「ヘビメタ」はいかがなものか（おまけ）
デモデータに以下の懸念があります：
・「ヘビメタ」という響きはいかがなものか
・フィルタリングした1億枚以上を売り上げたバンドは、どう見てもメタルではない。ハードロックだろう。

ということで、HR/HM とでも書いてほしいですよね。

元のkintone のデータを更新するとレコード毎にフォーム入力が必要なので、せっかくですからExcel Add-in で一括編集を行いましょう。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/116843/09daac93-1b65-7740-66a7-fd55c28fb68a.png)

先ほどの要領で、対象となるデータをExcel にバインドします。
Excel の置換機能を使って、「ヘビメタ」→「HR/HM」に変換をかけます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/116843/e8fa0af9-aa99-1378-71d3-7a91ffda6daa.png)

変換されたデータ部分がExcel 上で赤字で表示されます。この状態ではまだkintone に反映ができていません。
CDATA タブの「アクション」系の「行の更新」をクリックすると変更されたデータがkintone 側にプッシュされます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/116843/c5da5adc-7c22-5f2e-c6ae-ea528478067e.png)

このように、簡単に複数レコードの一括編集ができました。