- 2022年10月31日
はじめに
こんにちは、ユニフェイスの上村です!
前回 【Power Platform】要点まとめ の記事を書きましたが、今回は関わりのある Microsoft Lists について纏めたいと思います。
保持されたデータを Power Apps や Automate などで扱いたい場合、本来は SQL Server 等のDBや Dataverse を利用したいところですが、別途ライセンスが必要となってしまいます。
そこで、試用したい時など手軽に動かしたい場合には Microsoft Lists が利用できます。
以前 Microsoft Listsとやらを触ってみる でもご紹介しましたが、今回はより細かい内容について書いていこうと思います。
新しいリストの作成
先ず初めにリストの作成について、「空白のリスト」「Excel から」「既存のリストから」の3つから選択します。
しかし、この中で「Excel から」に関してはオススメしません。
前述のブログの内容にもあるように、List に定義する列の名前には “内部名” と “表示名” が存在し、「Excel から」作成すると内部名が自動で “field_1”, “field_2” ・・・となってしまいます。
(列名を半角文字で指定している場合でも)
Power Apps や Automate から列を指定する場合は基本的に”内部名”を用いる必要がありますが、内部名は後から変更できないため注意してください。
(前に変更方法を見つけた気がしましたが、改めて調べたら気のせいでした、、、)
既に作成したリストを流用する場合は「既存のリストから」を選択してください。
この場合は内部名もコピーされます。(この他、管理者権限を使って「PnP.PowerShell」等で外部からリストを操作できるようです。※ 未検証)
今回は「空白のリスト」を選択します。
「リスト名」は前述した列名と同じように、内部名と表示名が存在するため、ここでは半角文字で名前を指定します。
ちなみにリストの表示名/内部名はそれぞれ一意となり、表示名は重複すると「リストは既に存在します」とエラー表示されますが、内部名の方は何故か自動で連番振られて作成される模様。
(内部名 “TEST” を重複して作成すると、後から作成した方は “TEST1” になる)
次に「保存先」を選択します。以下の SharePoint サイトが表示されます。
- マイリスト :
個人用サイト - 最近アクセスしたサイト :
アクセス権のあるチームサイト、またはコミュニケーションサイトの一覧
【マイリスト】に保存する場合、以下に注意してください。
- チームサイト、またはコミュニケーションサイトで新しいリストの作成時、「既存のリストから」を選択した場合にマイリストは表示されないため流用できない。
- 他ユーザーのアクセスを許可する場合、「共有」設定で対象ユーザーを追加した上で、一度対象の List ページにアクセスしてもらう必要があり手間となる。
⇒ チームサイト、またはコミュニケーションサイトの場合は、SharePointの「サイトの共有」設定のアクセス権を List に継承できるため List 側での共有設定は不要。
これにより、今後複数人での利用が想定される場合は【最近アクセスしたサイト】を保存先にするのがオススメです。
List が作成されたら内部名を選択して変更することで、表示名を別途設定できます。(内部名はそのまま)
内部名を後から知りたい場合は、URLの内容を確認するか、「リストの設定」から確認できます。
列の定義
リストには最初から定義されている列が20程度あります。
内容の確認/表示をしたい場合は「現在のビューの編集」を選択します。
既存の列の特徴を下記に列記します。
- 「タイトル」と「添付ファイル」以外は自動入力される列
- 必須入力の列は「ID」と「タイトル」
- 「ID」は数値が自動採番
- 既存列は基本的に削除/変更はできない(表示名は変更可能)
“登録者”, “登録日時”, “更新者”, “更新日時” の列が既存で用意されてるのは便利ですね!
“登録者” や “更新者” は、ログインしているAADのユーザーが自動で反映されます。
列を新たに定義する際は、追加したい場所にカーソルを合わせると紫色のプラスボタンが表示されるのでクリックします。(その後、D&D操作で列の並び順を変更することも可能)
また、データ型の種類は以下があります。
(何故か、追加時と設定画面とでは、一部データ型の名称が異なります・・・)
以下は、他データベースにはない特殊なデータ型かと思います。
種類 | 概要 |
---|---|
個人 | AADのユーザーまたはグループを格納 |
場所 | 都道府県や番地など場所情報の入力に特化 |
選択肢 | 選択肢を定義してその中から選択。後から追加可能 |
ルックアップ | 別のテーブル列を参照 |
ハイパーリンク | URLの入力に特化 |
また、列はリストと異なり、内部名/表示名に関わらず重複すると「この名前の列は既に存在します。」とエラー表示されます。
入力を必須にしたい列の場合「この列に情報が含まれている必要があります」を有効にすることで設定できます。
※ ただし注意したいのが、Automate 経由で一部の列だけを更新したい場合でも、必須列全てに対して更新する値を指定する必要があり、手間が増えてしまいます。
そのため、本当に必須としたい列以外はむやみに必須設定しない方がいいと思われます。
列の表示名を設定後、内部名を後から確認したい場合は「リストの設定」画面から対象の列を選択することで、URLの末尾から確認できます。
この他、既にレコードが存在するテーブルに後から列を追加する際、既定値を指定している場合でも null(または空) が格納される場合があります。
※ 真偽値を格納する “はい/いいえ” 列でも、見かけ上 false かと思いきや null のため、処理内容によってはエラーになるので注意が必要です。
「日付と時刻」列に登録された日時が標準時間(マイナス9時間表示)となっている場合は、以下の設定が必要です。
【参考】サイトの地域設定の変更
Lists -> 歯車マーク -> リストの設定 -> 歯車マーク -> サイトの設定 -> 地域の設定 -> タイムゾーンを「(UTC+09:00)大阪、札幌、東京」に変更後「OK」を押下
ビューの定義
「新しいビューを作成する」または「ビューに名前をつけて保存」することで新たにビューを定義できます。
Automate からリストデータを取得する場合など、用途に合わせた列のみのビューを指定することで、取得データ量の削減や、登録・更新時に不要な列を非表示にできるといったメリットがあります。
こちらも「リスト」や「列」と同様に内部名(Webアドレス)/表示名(ビュー名)が存在しますが、どちらも後から変更が可能になっています。
※ 別途、一意に識別する何かを持ってるようなので、実際にはWebアドレスは内部名とは認識が異なるかもしれません。
さいごに
今回は「リストの作成」、「列の定義」、「ビューの作成」といったリストを利用する上での基本的な内容について纏めましたので、一先ずはこの内容で使い始めることが可能かと思います。
より深く扱いたい場合には、もっとできることがありそうですが、自分もまだまだそこまでは理解できていないので、新たに知った内容は個別に記事にしていきます!
またデータベースのように扱う場合にはテーブルの結合も必要不可欠ですが、自分では試せていないので、必要になった時に読もうと控えておいた参考リンクを貼っておきます。
(めちゃくちゃ今更だけど、WordPress ってこんなリンクの貼り方できたのか・・・)