こんにちは、あんこ先生です。
SharePointリストの名前や項目名はルールに基づいて命名するべきです。
なぜなら、無秩序に命名すると用途や指定方法がわからなくなるからです。
例えば、項目名は英数字ではないとOData(Open Data Protocol)に変換され、内部名参照時に混乱を招きます。
それらを回避するために、命名ルールが必要なのです。
この記事では、PowerAppsの利用を前提としたSharePointリストの命名に関する問題を解決します。
こんな人にオススメ
リスト名
- マスターかトランザクションかを判別できるよう頭にM_かT_をつける。
- PowerApps(Platform)に限定するなら日本語でもよい。
- 単語同士は始まりを大文字にするかアンダースコアで区切る。
リスト名で中身のデータが想像できないのはNGです。
最低限、マスターかトランザクションかを判別できるようにしておきましょう。
マスターとトランザクションの違いは別記事で紹介しています。
また、365のサービス内で利用するなら日本語が混じっていても問題ありません。
むしろ、日本語の方が中身を想像しやすいので積極的に使っていくべきです。
ただし、社員のようにひとつの単語では意味が通じないので社員情報や社員成績など分かるようにしましょう。
単語同士は区切りを明確にするため、頭文字を大文字にするか、アンダースコアをつけましょう。
良い命名
M_PriceList M_商品価格表
T_SalesData T_売上データ
売上2のようにどれが最新なのかわからなくなるので連番も控えた方が無難です。
また、アプリ名を入れてしまうと他アプリで利用しづらいため避けましょう。
項目名
- ODataに変換されないようスペースを含まない英単語(+数字)で作成する。
- 単語同士は始まりを大文字にするかアンダースコアで区切る。
- 日本語で表示させたい場合は、内部名が確定した後に修正する。
項目名は英単語(+数字)で設定しましょう。
理由は単純です。それ以外の組み合わせでは次のような問題があるからです。
- 日本語、記号、数字で始まる場合、内部名がODataに変換される。
- スペースは全角半角問わずODataに変換される。
- 1文字や数十文字の長さだと可読性が低下する。そもそも使いにくい。
下図は実際にExcelでテーブル変換し、SharePointリストに登録した結果です。
評価が〇以外は何らかの問題があるのでおススメできません。
例外として、内部名を参照する関数(SearchやSortByColumnsなど)を使用しない列であれば日本語(ODataに変換)でも支障ありません。
列名で使う英字は大文字小文字の区別がありません。
同名と判定され、最後尾に連番が振られますので注意してください。
同じ理由で、単語同士は区切りを大文字にするかアンダースコアを使用します。
区切りが明確でないと読みにくく意味が伝わりません。
大文字小文字を使い分けるかアンダースコアで単語を繋げましょう。
良い命名
PowerApps resale_value
列名の表示名と内部名の違い
PowerAppsでSharePointリストを使用する場合、表示名と内部名の違いを理解する必要があります。
なぜなら、意図した処理が行えない可能性があるからです。
これらの違いは次の通りです。
- 表示名
PowerAppsで項目名を指定する場合、大抵表示名を使用します。
何度でも変更できますし、アプリのコードも連動するため、修正は不要です。 - 内部名
登録時に確定します。修正はできません。
変更したい場合は、項目ごと削除して再度登録になります。
一部の関数では内部名を使用します。
英語が苦手でも大丈夫
わたしも英語は苦手です。
なので翻訳サイトを使って日本語を変換し、それっぽい英単語にしています。
ブラウザのお気に入りに登録しておくと便利ですよ。
最近はどの翻訳サイトもレベルが高いので好みでよいと思います。
わたしはDeepL翻訳:世界一高精度な翻訳ツールをよく使っています。
理由は、言語を選択しなくても日本語を入力すると英語に翻訳されるからです。
また、コピペについても某翻訳サイトみたく最後に半角スペースが混じることもありません。
まとめ
今回はPowerAppsの利用を前提としたSharePointリストの命名ルールを紹介しました。
とりあえず英単語の組み合わせでつけておけば、悩みは解消されるはずです。
このルールに従わないとアプリが作れないわけではありませんが、余計なストレスから解放されますので、ぜひ試してみてください。
もちろん、職場に適用する場合、全員がおなじルールに従うことが前提となりますので、周知していきましょう。
あの人が作ったリストは中身を見ないと想像がつかない
PowerAppsで項目名を指定するとき、選択候補に挙がってこない
項目名が’_x0200_’とか文字化けして特定できない