諸先人方の記事にある内容なのですが、簡単な部分だけ備忘としてまとめました。
1.リストで列を作成するときは、英語名(1バイト文字)で作成してから、日本語に直す
2.ソースのURLは「リストURL」ではなく「サイトURL」を指定する
3.第1選択として「FieldValuesAsText」列を使うとよい(特に日付時刻)
4.各リストアイテムへのリンクを作成することができる
1.リストで列を作成するときは、英語名(1バイト文字)で作成してから、日本語に直す
SharePointリストの列名は、作成後に自由に変更することができます。
ですが、Power Queryで読み込まれるときは、「1番最初につけた列名」で表示されます。
かつ、「日本語(2バイト文字)の列名」は、表示が分かりにくくなってしまいます。
ですので、列の作成時に、英語名(1バイト文字)で列名をつけておくとよいです。
なお、Power AppsやPower Automateでの利用を考えても、1バイト文字で最初の列名をつけておくとよいです。現在日本語の列名対応は、かなりされてはいるのですが、部分的にそうでない場面で助かります。
##2.ソースのURLは「リストURL」ではなく「サイトURL」を指定する。
読み込むコネクタには、「SharePoint Online リスト」または「SharePoint リスト」を選びます。
すると出てくるダイアログに親切に「サイトURL」と書いてあるのですが、つい「リストのURL」を入れてしまいがちです。
入れるべき「サイトURL」は、リストを表示させたときの**「/Lists/」より前の部分**と考えると、見分けやすいです。
(あるいはサイトトップに移動してURLをコピーしてもいいと思います)
###(補足)読み込むリストが選びづらいとき
次のステップで、リスト名の一覧を含むダイアログが出ます。
このとき、リスト名は、作成されたときの名前ではなく、編集後の最新の名前が表示されます。
リストの数が多かったり、リスト名が被っていると、どれを選んでよいかわからなくなります。
###(補足)間違えて違うリストを読み込んでしまったとき
コネクタの選択からやり直さなくても、読み込んだリストを選びなおすことができます。
1.ステップ「ソース」を選択。リスト一覧が左ペインに表示される
2.内容を確認したいリストのItems列セルの余白(文字のないところ)をクリック
3.内容のプレビューを見て選びなおしたいリストを確認
4.読み込みなおしたいリストの「値(table)」をクリック
##3.第1選択として「FieldValuesAsText」列を使うとよい(特に日付時刻)
SharePointリストをPower Queryで使いづらい点として、サイトの地域設定を日本にしてあっても、「日付時刻」が「太平洋標準時(米国およびカナダ)」で出てきてしまうという点があります。太平洋標準時は「サマータイム」があって、季節によって時差が変わるため、とっても扱いにくいです。
この問題は**「FieledValueAsText」列**を使用することによって解決できます。
「FieledValueAsText」には、リストに含まれる全列が入れ子になっていて、「SharePointリスト表示どおりの値(サイトの設定が日本なら日本時間)」が入っています。
###ユーザー列の場合
「FieledValueAsText」列には、ユーザーも見たままの値で入っていて、展開する必要がありません。
逆に**「ユーザーの部署・メールアドレスを取得したい」という場合は、本来の列**を使えば取得できます。
以上のことから、SharePointリストをPower Queryで読みこむときには、まず**「FieldValuesAsText」列だけを残して展開する方針とし、それ以外の情報が欲しいときだけ他の列にあたる**というアプローチがよいかなと思います。
##4.各リストアイテムへのリンクを作成することができる