こんにちは。CData Software Japan リードエンジニアの杉本です。
先日のBlog記事で CData Dataverse Driver(Dynamics 365 CRM)が SchemaName によるテーブル名の利用方法を紹介しました。
www.cdatablog.jp
併せて直近の機能追加でカラム名を DisplayName で利用する機能も追加されたので紹介したいと思います!
www.cdata.com
なお、記事ではJDBC ベースで紹介していますが、ODBCやPower BI Connectorでも同様に利用できます。
DisplayName とは?
まず、DisplayNameについて少し確認しておきましょう。
Dataverse ではテーブルの列では「表示名(DisplayName)」と「名前」の2種類の列名を持っています。
前者はビューやフォームで扱う時に利用する表示用の名前で、後者はシステム内部で識別するための名前になっています。
ちなみに表示名は各言語毎に情報を持っていて「ユーザーインターフェースの言語」を切り替えることで、それぞれの言語の表示名を確認することができます。
英語にすると以下のような感じになりますね。
ちなみに CData Dataverse Driver では「名前」を利用するように今まで構成されていたので、例えばシステム内部のカスタマイズ情報を把握していないとちょっと項目名の識別が大変なところがありました。
しかし、最近のアップデートでこの項目名を表示名ベースで利用できるようにする機能が追加されました!
UseDisplayNames プロパティの使い方
この項目名の表示を切り替える機能が「UseDisplayNames」プロパティです。
cdn.cdata.com
デフォルトではFalseになっているので、項目名を「表示名」ベースに変更したい場合はTrueに設定しましょう。
これをTrueにするだけで、以下のように項目名が日本語の表示名ベースに切り替わります。
もちろん、以下のようにSQLでクエリすることもできますし
SELECT [取引先企業名],[売上高 (基本)] FROM [Account];
以下のようにINSERT/UPDATE/DELETEも行うことができます。
INSERT INTO [Account]([取引先企業名])VALUES('Hello CData');
UPDATE [Account] SET [取引先企業名] = 'Update CData' WHERE [取引先企業] = '9b81850b-8e34-ec11-8c64-00224868aa9f';
DELETE [Account] WHERE [取引先企業] = '9b81850b-8e34-ec11-8c64-00224868aa9f';
ちなみに、この表示名の言語はログインユーザーの個人用オプションの設定に依存します。
この「ユーザーインターフェースの言語」が英語になっていると、以下のように項目名も英語になるので注意しましょう。
関連コンテンツ