Posted at

Power BIで使うファイルをSharePointの何処に置くべきか

この記事はMicrosoft Power BI Advent Calendar 2018に参加しています。

SharePointにはファイルの置き場所が3種類ある。

1. ドキュメントライブラリー

2. リストの添付ファイル

3. 複数行テキスト内にファイルを挿入

これらのどれに置けば、効果的にPower BIと連携できるかを考える。

考えてみたものの、先に結論から言ってしまうとドキュメントライブラリーしか選択肢が無い。

他の二つと比べても余りに差が大きい。


ドキュメントライブラリーとそれ以外、何が違うのか

細かい理由も多々あるが、一番大きな差は「目的のファイルを特定することができるか」という点に尽きる。

ドキュメントライブラリーは必ず1ファイル1レコードの形式でファイルが保持される。

しかしリストや複数行テキストの場合、1アイテムの中に複数のファイルが存在出来る。

それらを踏まえると、必要なファイルを取り出すにはそれぞれ以下の工程が必要となる。



  • ドキュメントライブラリー


    1. ファイル名、もしくは列の値が目的に合致したファイルを読み出す。




  • リスト、複数行テキスト


    1. タイトル名、もしくは列の値が目的に合致したアイテムを探し

    2. その中の添付ファイル or 複数行テキストから目的のファイルを探す。



ドキュメントライブラリーは特定まで僅かな工程で済むのに対し、リストや複数行テキストは複数の工程を跨ぐ必要がある。

しかも、そこからファイルの特定に使える情報はファイル名のみ。

複数のファイルから特定の日時に更新されたファイルを読み出す等の動作は出来ない。

これ以上書くとキリがないぐらい出てくるので

今回の内容は「Power BIで使うファイルをドキュメントライブラリーにどう置くべきか」とさせて下さい。


ドキュメント ライブラリーにどう置くべきか

ドキュメントライブラリーの利用法は大抵この2パターンに収束する。

1. 列でプロパティを付けてファイルを管理

2. フォルダを作ってファイル管理

Power BIでの読み出し以外にも言及しますが、どちらにもメリット・デメリットが存在するので解説します。


1. 列でプロパティを付けてファイルを管理

image.png


メリット


  • 目的のファイルを見つけるため、ファイルに紐づいた列のプロパティを利用できる。


    • Power BIでも列のプロパティを利用することで常に最新のファイルを読み出したり、読み込むファイルを切り替える等、高度な運用が可能になる。



  • 階層が存在しないため、列を自由に組み合わせて業務に合致した効率的なビューを作ることができる。


デメリット



  • ファイルを読み出す手軽な方法が無い。


    • ファイルの読み出しを行うために、ある程度Power Queryを弄る必要がある。



  • 列が増えるとプロパティを入力するのが面倒。


2. フォルダを作ってファイル管理

image.png


メリット



  • ファイルを読み出す手軽な方法がある。


    • Power BIに繋いですぐファイルを読み出せる程度に楽。



  • 決まったファイルを決まったフォルダに入れるだけでよく、列のプロパティを入力する必要が無い。


デメリット


  • 読み出しに使えるのがファイル名やフォルダ名、更新日時などのデフォルトで用意されている列のプロパティのみとなる。


    • フォルダ名やファイル名にルールを設定する必要が出てくるなど、柔軟な運用が難しい。



  • 目的のファイルを見つけるため、フォルダ階層を潜って行く必要がある。


比較

列で管理
フォルダで管理

扱いの手軽さ
×

運用の柔軟性

×

一覧性

×

手軽さ or それ以外の全て


それぞれをどう使うべきか


1. 列で管理

SharePointやOffice365の機能をフル活用したいならコレ。

SharePointにアップロードした後も、内容の更新や後から探して閲覧する必要がある物に向いている。

Flowとの組み合わせで、Power BIが読み出すファイルを動的に変更する等の芸当も出来る。

しかし月々売上ファイルを溜めていくような運用は、列の設定が少し面倒かも。

その程度を面倒臭がる人がSharePointを使えるのか非常に疑問だけど



    • 計画、実績関係のファイル

    • 日次、月次業務の最終成果物

    • 会議の議事録




2. フォルダを作ってファイル管理

手軽さしか必要ないならコレ。

SharePointにアップロードするが、内容の更新や後から探して閲覧する必要が無い物に向いている。

月々売上ファイルを溜めていくような運用もフォルダに当月分のファイルを入れるだけで終わる。

しかし読み出すファイルの定義が変わった場合、フォルダ階層ごと再設計が必要になったり柔軟性が死ぬ。



    • 予算関係のファイル

    • 日次、月次業務で使われるその場限りの中間成果物

    • Power BIで読み出すマスター情報




まとめ

向き不向きを理解して使いましょう。

別にそこまで考えなくても列で管理だけで業務の9割は要件が満たされる

なお、今回書いた内容を実際にSharePointでやるにはどうしたら良いかは以下の記事にまとめてあります。

Power BIでSharePointのデータを利用する

なんでフォルダだとPower BIで手軽に読み出せるのか

なんで列で管理した場合にファイルを読み出す手軽な方法が無いのか

これらを疑問に思った方は是非ご覧ください。