【PowerAutomate】SharePointのリストから列と行をフィルターして表にする。

スポンサーリンク




作業を自動化する
  • プログラミングは分からないけど自動化したい
  • PowerAutomateの使い方がイマイチ分からない
  • SharePointのリストを取得したい

無料ツールでさらにノンプログラミングで自動化ができるならぜひやってみたい!

この記事では、そんな方に向けてSharePointのリストを抽出する方法を5ステップで説明します。

  • SharePointのリストと処理結果
  • SharePointのリストを取得
  • 列をフィルター
  • 行をフィルター
  • 表にする
みずしぶき
みずしぶき

この記事を読めば、SharePointのリストから自由に抽出ができるようになります。

まだPowerAutomateを使った事が無いという方はこちらの記事を参考にしてください。

PowerAutomateはブラウザで操作するのでインストール無しで利用できます。Windows10ではないMacユーザも自由に使えます。

私がPowerAutomateの勉強で実際に読んだ本を紹介します。

スポンサーリンク

SharePointのリストと処理結果

取得するSharePointのリストです。

作業管理表という名前のリストで、作業の日付と完了・未完了が書かれています。
ここから過去の日付・未完了のデータのみにフィルターします。タイトルも省略します。

①フィルターする列名

  • 作業予定日
  • 作業状況

②フィルターする行の条件

  • 作業状況が未完了
  • 作業予定日が過去

2022/07/19にフローを動かした結果です。

過去の日付で未完了のみ表示されました。

動かしたフローはこちら。

使っているアクションは7種類です。

  • 変数   :変数を初期化する
  • SharePoint:複数の項目の取得
  • 条件   :Apply to each
  • データ操作:作成
  • 変数   :配列変数に追加
  • データ操作:アレイのフィルター処理
  • データ操作:HTMLテーブルの作成

使い方は作りながら見ていきましょう。それではフローを作っていきます。
まだ画面を開いていない方はMicrosoftの公式サイトからPowerAutomateを開いてください。

SharePointのリストを取得

画面左にある作成から「インスタントクラウドフロー」を選択。

インスタントクラウドフロー

フロー名を入力して「手動でフローをトリガーします」を選んで作成します。

インスタントクラウドフローを構築する

新しいステップで「変数を初期化する」を選択。

3か所設定します。

名前:リスト
種類:アレイ
値 :何も入力しない

新しいステップでSharePointの「複数の項目の取得」を選択。

2つ設定します。

サイトのアドレス:https://xxxx.sharepoint.com/sites/tttt
リスト名    :作業管理表

リストを開いた時のURLの赤字の部分を①へ貼り付けます。
https://xxxx.sharepoint.com/sites/tttt/Lists/List2/AllItems.aspx

スポンサーリンク

列をフィルター

今は「複数の項目の取得」という表の中に3つの列がある状態です。

  • タイトル
  • 作業予定日 ←欲しい列
  • 作業状況  ←欲しい列

そこから欲しい列だけ「リスト」という配列にデータを移していきます。

新しいステップでコントロールの「Apply to each」を選択。

「複数の項目の取得」のvalueを指定。

「Apply to each」の中にあるアクションの追加ボタンから、データ操作の「作成」を選択。

データ操作-作成

文字と動的なコンテンツを組み合わせて画像のように入力する。

{
“作業予定日”:【複数の項目の取得の下にある「作業予定日」を指定】,
“作業状況”:【複数の項目の取得の下にある「作業状況」を指定】
}

この処理で欲しい列を選んでいます。

ポイント

フィルターする列が2つ以上の場合、最後の項目以外にカンマ( , )をつける

{
“xxxx”:xxxx, ←カンマあり
“yyyy”:yyyy, ←カンマあり
“zzzz”:zzzz
}

フィルターする列が1つの場合カンマは無し

{
“xxxx”:xxxx
}

「Apply to each」の中にあるアクションの追加ボタンから、変数の「配列変数に追加」を選択。

変数-配列変数に追加

2つ設定します。

名前:リスト
値 :動的なコンテンツの作成にある「出力」

ここで欲しい列だけ「リスト」という配列にデータを移しています。
「Apply to each」の中の処理はここまでです。

みずしぶき
みずしぶき

「データ操作の作成」と「配列変数に追加」を組み合わせる事で列をフィルターしました。
ここがこの記事のポイントなので列のフィルターを何度か試して感覚を掴んでおきましょう。

次は行のフィルターを説明します。

行をフィルター

行をフィルターするには列名とフィルターする条件を指定します。

新しいステップからデータ操作の「アレイのフィルター処理」を選択。

4か所入力します。

上:動的なコンテンツの「変数」にある「リスト」
左:式に「item()?[‘作業予定日’]」
中:次の値未満
右:動的なコンテンツの「手動でフローをトリガーします」にある「日付」

これでフローを実行した日より古いデータのみになります。

新しいステップからデータ操作の「アレイのフィルター処理」を選択。

データ操作-アレイのフィルタ処理

2か所入力します。

上:動的なコンテンツの「アレイのフィルター処理」にある「本文」
左:式に「item()?[‘作業状況’]」
中:次の値に等しい
右:未完了

これで未完了のデータのみになります。

列のフィルターと異なり、行のフィルターは「アレイのフィルター処理」だけでできます。
また、作ってわかったと思いますが、フィルターする条件の数だけ「アレイのフィルター処理」を繰り返し使うのがポイントです。

スポンサーリンク

表にする

メールやTeamsへ出力する場合、表形式だと扱いやすくなります。

新しいステップでデータ操作の「HTMLテーブルの作成」を選択。

動的なコンテンツの「アレイのフィルター処理2」にある「本文」を選択。

表にする設定はこれだけです。

フローが完成しました。

処理前のリストがこちら。

それでは日付が過ぎていて完了になっていないデータのみにフィルターします。

①フィルターする列名

  • 作業予定日
  • 作業状況

②フィルターする行の条件

  • 作業状況が未完了
  • 作業予定日が過去

フローを動かすと絞り込み結果が表示されました。

まとめ

SharePointのリストを抽出する方法を5ステップで説明しました。

  • SharePointのリストと処理結果
  • SharePointのリストを取得
  • 列をフィルタ
  • 行をフィルタ
  • 表にする

「データ操作の作成&「配列変数に追加」で列をフィルタ。「アレイのフィルター処理」で行をフィルタ。この2つを覚えておきましょう。

PowerAutomateの記事まとめ
まだ試してないアクションがあれば見ておきましょう。
初心者向け
【初心者向け】PowerAutomateの使い方。無料で誰でも使えます。
基本的なアクション
【PowerAutomate】メールの添付ファイルをOneDriveへ保存する。
【PowerAutomate】Excelのデータをメールで送信する。
【PowerAutomate】メールを受信したらExcelにデータを入力する。
アクションの応用
【PowerAutomate】第1~5○曜日の日付を求める。
【PowerAutomate】メール本文から名前を抽出する。文字列抽出のキホン。
【PowerAutomate】ソートするフローを作る。配列の並べ替え。
【PowerAutomate】SharePointのリストから列と行をフィルターして表にする。
【PowerAutomate】ExcelからSharePointのリストに一括転記する
【PowerAutomate】SharePointのテキストファイルに改行を付けてメール送信
関数・アクション
【PowerAutomate】日付の関数まとめ。月末月初やExcelシリアル値変換など。
【PowerAutomate】Apply to eachの使い方。勝手に出てくる原因や遅い時の高速化など!

今の勉強法に満足していますか?
やりたい事はネットで調べてなんとか対処しているという方が多いと思います。

私も元々はネットから情報を得ていましたが、知識が少な調べる事ばかりで作業が進まなく悩んでいました。一度専門書を買ってみると勉強に集中できネットより遥かに理解が早かったと感じました。

とはいっても何冊も本を買うとお金も場所も取ります。そこでAmazonが提供するKindle Unlimitedという読み放題のサービス。PCやスマホどちらでも使え、月額980円で毎月1~2冊読めば元がとれたので本代の節約になりました。

>>Kindle Unlimitedへ登録する

確かにネットの情報量は多いのでほしい情報は見つかります。でも、ネットで自分の求めている情報を探すのは時間がかかります。気になる事を都度調べるのは効率悪くないですか?

ではどうしたらいいのでしょうか。

それは基礎知識を学ぶ事です。
専門書は初心者向けから上級者向けまでレベル別で出版されているので、求めている内容がそこにありました。

Kindle unlimitedはラインナップが勝手に変わるという予測できない点はありますが、読みたくなった今すぐに読める点が私にはドハマりでした。

初回30日無料なので今すぐに読みたい本がある方はお試しでも利用できます。Kindle Unlimitedは200万冊以上の本が読めるそうです!

ネットの検索時間から解放され、本来の目的に集中しましょう。

\30日間無料/

タイトルとURLをコピーしました