データソースとして利用することが多いのがSharePointリストかと思います。
いろいろと癖があるのでまとめていきます。
SharePointリストには内部列名と言われるシステムが使う列の名前があります。内部列名とは列を作成するときに、初めて付けた名前を内部列名として使用します。これはなぜかというと、後から列名を変更してもシステム側で問題ないよう認識するための名前として内部列名を使用しているからです。
ただし、内部列名は全角の名前の場合はエンコードし、アルファベットや数字として認識します。
![](https://it-dxblog.com/wp-content/uploads/2023/08/image-10.png)
Power AppsでSharePointリストを使う場合は、全角で付けた列名でもそのままの名前で表示されるため、問題がないのですが、フォームを追加した場合、DataFieldを見ると、ここでは内部列名が使用されています。
またPower Shellやスクリプトを利用する際には、内部列名で指定するようです。
そのため、列名は全角文字を使用せず英語名で一度名前を確定し、表示名として全角の日本語名を付け直した方がよいとされています。
![](https://it-dxblog.com/wp-content/uploads/2023/08/image-12.png)
ただ列名が多い場合はこれも手間になるため、英語表記で貫くというのも手だと思います。
内部列名は一度付けると変更することはできないため、間違えた場合は列を削除して、新たに追加するしかありません。
私は”○○Wide”と書こうとしたところ、”Wild”と書いてあることに後々気づき、泣く泣く作り直したことがあります…
元々ExcelでデータソースがあるリストをSharePointリストに取り込む場合、SharePointリスト側にインポートという機能があります。(画像をお見せできずに申し訳ありません…個人のPCではSharePoint使えないもので…)
便利な機能でこちらを利用したのですが、インポートすると内部列名が勝手に”field0″など勝手に名前を変更されてしまい、Excelの名前は一切反映されませんでした。せっかくExcelの列名を英語表記で書き直したのですが…泣く泣くSharePointリストに一から作成し直しました。
逆にExcelアプリからエクスポートをすると、内部列名はExcelで作成した項目名を維持してくれます。
とりこみたいデータを「挿入」からテーブルにし、「テーブルをSharepointリストにエクスポート(E)」から作成した方がよいです。
![](https://it-dxblog.com/wp-content/uploads/2023/09/image.png)
とりあえずリストを作成してアプリの中にフォームを作成してみた場合によく起こるのですが、作成した後当初は数値型で数値のみを入れる予定だったのに、数値だけでなく文字も入るとなりテキスト型に戻す場合、フォームの場合は更新をしてもデータ型までは更新されずエラーが発生します。
データ型を変更したフォームのデータカードがある場合は、変更したデータカードを一度削除して入れ替える必要があります。レイアウトに凝っていない場合は問題ないですが、レイアウトをいろいろと変更していた場合、このレイアウトは崩れてしまいます。