SharePoint リスト間のまるごとデータ移行 | イメージ 添付ファイルもお引越し | Power Apps & Power Automate 活用
Вставка
- Опубліковано 8 сер 2024
- 00:00 イントロ
01:10 Power Apps の新規作成とSharePoint リストの作成
04:12 Power Apps でのベースの設定を行う
06:33 一括移行ボタンを作成する
08:47 ForAll 関数の作成
10:21 Power Automate のフロー作成
14:15 一括移行してみる!
■概要
SharePoint リスト間のお引っ越し作業をボタン1発で行う機能を作成しましたのでご紹介します。
本件について良い方法がないかご質問いただきまして、今回はそのご要望にお答えするという動画です。
■利用サービス
1. Power Apps
2. Power Automate
3. SharePoint
■対象者
SharePoint リストを新しいリストに移行したい方
■学べること
SharePoint リストを新しいリストに一括で移行する方法
※ただし、Power Appsがローカルに保持できるコレクション数に応じる
■必要なライセンス
Microsoft 365 サブスクリプションに付属するPower Apps のライセンス
■ブログ
www.geekfujiwara.com
■Twiter
/ geekfujiwara
■Udemy
作って学ぶPower Apps !すぐに現場で使えるアプリを3つ以上作成 【実践Power Platform】という講座をOpenしました!
www.udemy.com/course/power-pl... - Наука та технологія
動画ありがとうございます!勉強になります!
とてもわかりやすかったです。
ありがとうございます。
のご感想をお寄せいただきありがとうございます😊
1コメげっと。ギークさんの環境のローディングがめちゃ早い!
(大体、カット入れてるからですww)
大変勉強になります!
教えて頂きたいのですが、使い方を少し変えて動かしたいのですが、添付ファイルを変更したレコードの添付ファイルだけを別のリストにコピーしたいのですが、可能でしょうか?
試しに、「項目が作成されとき」を「アイテムまたはファイルが修正されたとき」に変更して作ってみたところ、きちんとコピーはされるのですが、変更していないレコードまで実行されていくようで、フローの詳細をみると、状況「失敗」が何日も続いてしまいます。
レコードは約1,000件あります。アドバイス頂けたら大変助かります。
教えてください
リストとリストのテキストとテキストを=するとTRUEとなりますが
画像でも同様のことは可能でしょうか?
同じ画像がいくつ含まれているのか?などのようにフィルターしたりすることを検討しています。
ギークフジワラさん、こんにちは
参考になる動画ありがとうございます!
参考に仕事で使用している表の移動を作ってみたのですが、
Patch関数の使用中にネットワークエラーが出てしまいます。
項目と件数(1000件程度)が多いのが原因なんでしょうか?
他に解決策はありますでしょうか、ご教授ください。
ご覧いただき、ありがとうございます!ForAll と組み合わせてPatch 関数で1,000件のレコードを登録している感じでしょうか?
確かに、データ件数が多い時のForAll + Patch 関数では耐えられそうに無いかと思います。
迂回策としては4つ考えられます。
1. Collect 関数にて一括登録
ローカルに登録したいデータソースに対してCollect 関数にて一度Collect した後、そのLocal コレクションを Collect で一括登録することです。こちらの方が圧倒的にパフォーマンスが出ます。
2. 重い処理はPower Automate にて実施
Power Automate にコレクションを渡し、登録はPower Automate にて実施させます。
Power Apps とは非同期とすることができ負荷分散が可能です。つまりデータソースの登録のコミットを待つ必要がないのでより良いパフォーマンスが期待できます。
ただし、Power AppsからPower Automateに渡せる引数はテキスト型のみのためコレクションはConcat関数でコンマ区切り等として1つの長いテキスト変数に格納してから送る必要がありますので、実装としては難しくなります。
3. 登録するレコードを複数に分割
これはパフォーマンスを上げるテクニックでもありますが、もしレコードの登録順に前後関係がない場合、例えばコレクションをFirstNにて前半分500件を取得、さらに後半を取得するためコレクションからRemove 関数等でFirstN分を除いたコレクション501件目以降の2つに分けてConcurrent 関数等で同時に登録させます。分割する単位はうまく行くかどうかを見て検証する必要があります。
4. レコードを登録するたびに1件1件自動登録
これは1件1件レコードを生成するケースで成り立つシナリオですが、OnChange のタイミングで自動的にPatch します。
ご参考になれば幸いです。
@@geekfujiwara さん
ありがとうございます!
1. Collect 関数にて一括登録のやり方で考えてみたいと思います。
アルコールチェック報告をPowerAppsとSharePointで行っているのですが、予想より早いペースで1000件を超えてしまい少し焦っています(;^_^A
利用が進んで嬉しい悲鳴ですね!
@@geekfujiwara さん
検証の結果、ForAll + Patch 関数の動きで耐えられずエラーになっているみたいです。。困った・・・(T_T)
@r.m6847 Collectで入れる場合は完全に列を一致させる必要があります。そのためおすすめの方法はCollect(コレクション名, First(データソース))にて列を一致させたコレクションを作成することです。これをClearで空にしてからレコードを入れると良いかと思います。
教えてください
SharePointからExcelにエクスポートしたいと考えています
データは以下です
部署
氏名
入社日(日付)
顔写真(イメージ列)
レコード数が多いために
部署別にfilterした情報を
エクセルにエクスポートしてメール送信したいのですが可能でしょうか?
ちなみに、イメージ列の顔写真ですが、大きさがバラバラであることが推測されます
可能であれば、大きさが一定になるようにしたいので、エクセル側のセルの大きさに合わせる方法がいくつかあるようでしたら、合わせてその技を教示いただきたいです
画像がURL形式でよければセルに書き込むことができますが、画像としてExcel にペーストしていきたい場合、RPAでの対応が必要になります。Power Automate for desktop であれば取得した画像を繰り返しセルに貼り付けたり、指定サイズにリサイズするデスクトップ操作をエミュレーションすることができます。