メモ
- SharePoint リストとテーブルは、列に計算式が使えるなど非常に似ている。かといって、Dataverse のテーブルが上位互換ということもなく、別物。
- Dataverse の計算列はプレビュー中のせいか不明だが、制限が多い。テーブルの計算列では、Power Fx が使えるということになっているが、日付関係は使えない模様(Year(date_column) のような基本的な関数もエラー) (2023/11/13)
- SharePoint リストはテーブル作成時のみ Excel をインポートできるが、テーブルは後から追加でインポートすることも可能。
- SharePoint リストと同様、先に英語の列名(→ 内部名)で作成後、日本語に変更するテクニックはそのまま有効。
- 暗黙で "(接頭辞) + (テーブル名) + ID" という名前で内部的に主キー(≠プライマリ列)が作成されるため、明示的に同じ名前の列を追加することはできない。(値は Guid)
- Excel からインポートした場合、列名の "_"(アンダースコア)、"-"(ハイフン) は切り詰められる
- 将来的にフィルタしたい列には「検索可能」をチェックする。しないとフィルタ出来ない。
- 作成されたテーブルには、内部名として、接頭辞 cr761_ などがついた名前になる(テーブル一覧の名前列で確認できる)。
- 列名も接頭辞 cr761_ などがついた名前になる([スキーマ]-[列] で確認できる)。
- テーブル指定の UI によっては、接頭辞がついて表示されたり、接頭辞なしで表示されたり、外部名(内部名)で表示されたりいろいろなので注意
プライマリ列 / プライマリ名列
「使用可能な最初の列」主キー/プライマリキーを連想するが、名前が似ているだけで別物。リストにしたときにリンクが付加される列らしい。重複可。※ドキュメントによって表記のゆれ有り
オートナンバー列
文字列や日付を接頭辞にしたオートナンバーを生成できる。テーブル作成時にはこの列を作成できず、一旦テーブル作成した後に、オートナンバー列を作成するか、テキスト列から変更できるようになる。{DATETIMEUTC:yyyyddMM}-{SEQNUM:4}、シード値 : 0000 などの設定が可能。
検索列(ルックアップ)
データの種類 [検索] は紛らわしいが "ルックアップ" に相当。関連テーブルがなかなか出てこない場合があるので、しばらく待つ。
タイムゾーン関係
- 日時は UTC に変換されてインポートされる。日本時間 2022/01/01 11:20 のデータは -9:00 されて、2022/01/01 2:20 で格納される。
- Excel インポート時、日付型を指定すると、自動的に「ユーザーローカル」になる。「ユーザーローカル」から「タイムゾーン非依存」へ変換できるが不可逆。テーブル作成時には指定できないため、テーブルを一旦作成後に指定する。グローバルでタイムゾーンを意識したようなものを作らないのであれば、タイムゾーン非依存列を使うのがよさそう。
タイムゾーンが面倒な場合
先にテーブルスキーマを作成して、Excel データをインポートする場合 : 先に「タイムゾーン非依存」列を作っておいて、インポートする。
Excel からテーブルを作成する場合 : 最初からデータを +9:00 しておき、インポート後に列を「タイムゾーン非依存」に変換する。(インポート時には指定できない。)
参考) ユーザーローカルとタイムゾーン非依存のタイムゾーン関係の動き
https://github.com/MicrosoftDocs/powerapps-docs/blob/main/powerapps-docs/maker/data-platform/behavior-format-date-time-field.md