Help us understand the problem. What is going on with this article?

Power AutomateでSharePoint列の値を更新するアクションの仕様について

この記事はOffice 365 Advent Calendar 2019に参加しています。
今日のOffice 365 Advent Calendarが空いてたので備忘も兼ねて書きます。


この記事ではSharePoint列の値を更新するアクションの仕様について、私が経験した範囲内で書いていきます。
(2019年12月5日現在)

記事内で出てくるSharePointの列の種類については、以下のMicrosoft Docsをご確認ください。
リストおよびライブラリの列の種類とオプション

SharePoint列の値を更新するアクション

Power AutomateにはSharePoint列の値を更新するアクションが幾つかあります。
image.png

よく使うアクションはこの辺りですね。
ファイルのプロパティの更新
image.png
項目の更新
image.png
Power Automateでこれらのアクションを使うと以下のような画面が立ち上がので、ここでSharePoint側をどう更新したいか設定していきます。
image.png
今回のお話は、この画面の仕様について書いていきます。

ボックスが空欄なら値は上書きされない

列のボックスが空欄であれば列の値は上書きされません。
以前の値が残ります。
image.png
このフローを実行したBefore/Afterは以下の通り。
列「2Column」には元の値が残ったままです。

Before

image.png

After

image.png

必須列のボックスには必ず入力が必要

SharePointで列を作る際に「この列に情報が含まれている必要があります」をONにしていると、入力必須の列として扱われます。
image.png

この必須列のボックスは空欄に出来ません。
空欄だとエラーが出て、作成したフローが保存出来なくなります。
image.png
前述の「何も割り当てなければ上書きしない」と矛盾する仕様なので注意してください。

必須列なのに*マークがつかない事がある

通常であれば必須列に*マークがつきます。
image.png
しかし、SharePointの列の種類によっては必須列でも*マークが表示されません。

起こる条件

私が経験した限りでは2パターンあります。

1.複数選択を許可

以下の列の種類で「複数選択を許可」をONにしている場合に発生します。
image.png

問題が起こる列の種類
  1. 選択肢
  2. ユーザーまたはグループ

2.特殊な種類の列

以下の列の種類では必ず発生します。

問題が起こる列の種類
  1. 参照
  2. 管理されたメタデータ

列の値をクリアするにはnullを使う

列の値をクリアするにはnullをボックスに入力します。
入力は列のボックスをクリックした後、右側に出てくるメニューから式を選び、nullと入力してOKを押すだけです。
image.png

必須列をnullでクリアできる

nullはエンドユーザーが必須列の値を手軽にクリアできる唯一の手段です。

例えばこのようなリストがあります。
列「必須列テスト」は必須列です。
image.png
このリストに対し、列「必須列テスト」をnullで上書きするフローを実行します。
image.png
するとフローが正常に完了し、列「必須列テスト」がクリアされました。
image.png

余談ですが、Power AutomateのSharePointアクション「項目の作成」でも同様にnullを使う事で、必須列が空欄のアイテムを作成できます。

まとめ

  • ボックスに何も割り当てなければ上書きしない
    • 一々全部のボックスを入力する必要はありません。
  • 必須列には必ず入力する
    • 面倒でも現在はこれがルールです。
  • 必須マークは完璧ではない
    • *マークが表示されない列が必須列かどうか、必ずSharePoint側も確認しましょう。
  • nullは非常に便利
    • 現在、エンドユーザーが手軽に必須列をクリアできる手段はこれだけです。

私もIgnite The TourTokyo行きたいなー…(´・ω・`)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした