2014/11/11

テーブルのすすめ Office 365 連携 SharePoint リスト

Excel 2007 以降で「テーブル機能」が重要になることを紹介してきた。

ピボットテーブルの参照先や、グラフの参照先にテーブルが指定されていれば、同様に元のデータの増減に自動的に対応する。元データの増減への自動対応は Excel 2003 以前では複数の関数を組み合わせることで対応できた場合もあったが、テーブル機能を使えばそのようなテクニックを使わなくても簡単に実現することがわかったと思う。

このような「参照先データ」は、通常「マスターデータ」と呼ばれるものや、ある条件の集計結果データであることが多い。(月次締めなど)それらの多くは個々人の PC に入っている Excel のワークシートで管理されていることは稀であり、小規模でも Access のデータベース、大規模になれば SQL Server や Oracle といった基幹システムのデータベース サーバーにある。

そのため、それらの参照データを「CSV形式」のファイルで入手し、Excel にインポートし、分析作業や、報告書作成のための集計作業をしているユーザーが今でも多い。

もし、それら元データの取得を Excel で取り込み、分析・集計作業が一連の流れの中で止まることなくできたら、、、と思うのは当然である。

Office 365 とは、Office 365 Pro Plus (Excel, Word, PowerPoint など) と、サーバーサービスである Exchange Online (メール サービス)、SharePoint Online (ポータル/ドキュメント共有サービス)、Lync (メッセージ サービス)を組み合わせた総称である。(Office 365 のプランによっては Office 365 Pro Plus が含まれないものもあるので注意すること。)

サーバーサービスが持っているデータと Excel を連携させるために、ここでも Excel の「テーブル機能」が重要な役割を担うことになる。いくつかご紹介しよう。

1) Excel のテーブルからリストを作る

SharePoint Online は「リスト」という機能を使って、データの蓄積が可能である。リストを使うためにはリストの設定をしなければならないが、このリストの基本設定は Excel を使ってできるのである。

以下のような「コースマスター」テーブルを使って SharePoint リストを作ってみよう。


コースリストのデータ列は「文字列」で書式設定されている。日数は数値、講師は文字列、開始日は YYYY/MM/DD のシリアル値だ。

SharePoint Online の詳細な説明はここではしないが、SharePoint で他の社員と共有するようなスペース(サイトと呼ぶ)を作成し、そこにこのコースマスターを元にしたリストを作ってみる。

SharePoint Online チームサイト 作成直後の初期状態トップページ

このサイトのトップページの URL を控えておき、Excel でコースリストのテーブル内にアクティブセルをおいて、リボンの [デザイン ツール] の [デザイン] タブの [外部のテーブル データ] セクションにある [エクスポート] の ▼ をクリックする。


[テーブルを SharePoint リストにエクスポートする] をクリックする。


アドレスに SharePoint のサイトの URL を入れる。ここでは読み取り専用接続を作成せずに、名前と説明を適宜入力する。なお、名前は英語で入力しておき、あとで日本語に変更することをお勧めする。 URL が最初に入力した英語で簡略化できるからである。


データ型についての確認ダイアログがでる。問題が無ければ [完了] をクリックする。
Excel のテーブルが正しく SharePoint のリストとしてエクスポートが成功すれば以下のダイアログが表示される。


ダイアログの URL をクリックすると、作成された SharePoint リストのページがブラウザで開く。


これで Excel テーブルの SharePoint Online のエクスポートが完了した。
勘違いしないでいただきたいのは、これは Excel のテーブルを「ひな形」として新たに SharePoint にリストを作成したものである。ここではなんの連携機能もない。コピーしたようなものである。

運用的に、今後は SharePoint Online のこの「コースリスト」がマスターデータとなって、データの追加や修正はこの SharePoint のコースリストで行う。このコースリストを参照する Excel ブックは、コピーを自分のブック上に持つのではなく、データ接続を使ってリアルタイムに SharePoint 上のコースリストを参照して、Excel で処理を行う、というものだ。

では、SharePoint のコースリストを新しい Excel ブックと連携させてみる。

SharePoint のコースリストのページにある [リスト] タブをクリックして、[Excel にエクスポート] をクリックする。


IE の下部に以下のダイアログが表示される。[ファイルを開く] をクリックする。





Excel が立ち上がり、データ接続をしようとするためセキュリティの確認ダイアログが表示される。[有効にする] をクリックする。


データのインポート方法を選択する。[テーブル] で、新規ブックで作成してみる。


SharePont Online のリスト「コースリスト」からテーブルが作成されたことが確認できる。


元の Excel のテーブルと比較すると [アイテムの種類] や [パス] が列として追加されている。

データ接続による SharePoint から Excel へのデータ エクスポートは SharePoint → Excel の一方通行である。Excel 側にあるテーブルはあくまで「参照用」であって、この Excel ブックのデータを変更しても SharePoint のリストが更新されることはない。

逆に、SharePoint 側のリストが変更されると、その変更はデータ接続をしているすべてのテーブルに反映される。ただし、その反映のタイミングは Excel ブックで [データ] タブの接続の更新もしくは [すべて更新] をクリックしたときである。(手動設定の場合)

一度データ接続を設定すれば、あとは明示的にデータ接続情報を消さないかぎり再利用可能だ。

以下は SharePoint 側で新たにデータを追加した手順である。

SharePoint のリストが更新された状態だけでは Excel ブックに変更は反映されていない。
以下、[すべての更新]をクリックした動きである。


このように SharePoint からのデータは「テーブル」となって Excel ブックで利用可能になる。
よって、Excel 側ではテーブルの利用方法、活用方法、さらにテーブルに対応したブックを作成しておくことで、Office 365 SharePoint との連携が現実となってくるのである。

なお、SharePoint Online のリストの制限(件数など)などが気になるだろう。
以下が SharePoint Online のリストの制限である。参照されたい。

列数: 列の要素によって制限が異なる。1行テキストの場合は最大 276 列を使用できる。
行数: 数千が実用範囲。数万もいけるがパフォーマンスを考慮すべき。数万の場合は Access アプリ(データベースエンジンは SQL Azure を使用)などを考慮。

アイテム数が多いリストとライブラリを管理する
http://office.microsoft.com/ja-jp/sharepoint-server-help/HA102771361.aspx

0 コメント:

コメントを投稿

Powered by Blogger.

自己紹介


PowerBI コミュニティ勉強会の 沼口 です。
https://powerbi.connpass.com/
最近の Excel は Office 365 のクラウドサービスと 連携する方向性が打ち出されています。この「Road to Cloud Office」ブログでは、Excel ユーザーの視点から Power BI Service や、Office 365 の活用方法を模索した結果をお伝えしています。
Microsoft MVP for Data Platform 2017-2018