メモ
コミュニティの関心グループが Yammer から Microsoft Viva Engage に移行されました。 Viva Engageコミュニティに参加し、最新のディスカッションに参加するには、 Finance and Operations Viva Engage Community へのアクセス権フォームに入力し、参加するコミュニティを選択します。
GETENUMVALUEBYNAME関数は、文字列値として指定した列挙名を使用して、指定した列挙データ ソース内の特定の Enum 値を検索します。 関数が Enum 値を見つけた場合は、それを返します。 それ以外の場合、関数は null 列挙値を返します。
構文
GETENUMVALUEBYNAME (enumeration data source path, enumeration value text)
引数
enumeration data source path: 列挙型
次のいずれかの列挙型のデータ ソースの有効なパス。
- 電子報告 (ER) モデルの列挙
- ER 形式列挙型
- Microsoft Dynamics 365 Finance 列挙型
enumeration value text: 文字列
単一の列挙型値の名前を表す文字列値。
戻り値
Nullable 列挙
結果として得られた列挙型の値。
使用上の注意
指定した列挙値名をString値として使用してもEnum値が見つからない場合、例外はスローされません。
例 1
次の図では、ReportDirectionの列挙はデータ モデルで導入されます。 列挙値のラベルが定義されています。
次の図は、これらの詳細について説明しています。
- $Direction データソースが、ER レポートで構成されます。 このデータ ソースは、ReportDirection モデルの列挙型に基づいて構成されます。
-
$IsArrivals式では、この関数のパラメーターとしてモデル列挙ベースの$Direction データ ソースが使用されます。 - この比較式の値は、TRUE です。
例 2
GETENUMVALUEBYNAME関数とLISTOFFIELDS関数を使用して、サポートされている列挙体の値とラベルをテキスト値として取得します。 サポートされる列挙型には、アプリケーション列挙体、データ モデル列挙型、および書式列挙体が含まれます。
次の図では、モデル マッピングに TransType データ ソースを追加します。 このデータ ソースは、LedgerTransType アプリケーション列挙を参照しています。
次の図は、モデル マッピングで構成する TransTypeList データ ソースを示しています。 このデータ ソースは 、TransType アプリケーション列挙型に基づいて作成します。 フィールドを含むレコードのリストとしてすべての列挙値を返すには、 LISTOFFIELDS 関数を使用します。 この方法では、すべての列挙値の詳細が公開されます。
メモ
GETENUMVALUEBYNAME(TransType, TransTypeList.Name)式を使用して、TransTypeList データ ソースの EnumValue フィールドを構成します。 このフィールドは、このリストのすべてのレコードの列挙値を返します。
次の図は、モデル マッピングで構成する VendTrans データ ソースを示しています。 このデータ ソースは、VendTrans アプリケーション テーブルから仕入先トランザクション レコードを返します。 すべてのトランザクションの元帳タイプは、TransType フィールドの値によって定義されます。
メモ
FIRSTORNULL(WHERE(TransTypeList, TransTypeList.EnumValue = @.TransType)).Label式を使用して、VendTrans データ ソースの TransTypeTitle フィールドを構成します。 このフィールドは、この列挙値が使用可能な場合に、現在のトランザクションの列挙値のラベルをテキストとして返します。 それ以外の場合は、空白文字列の値を返します。
TransTypeTitle フィールドをデータ モデルの LedgerType フィールドにバインドします。 このバインディングを使用すると、データ モデルをデータ ソースとして使用するすべての ER 形式の情報を使用できます。
次の図は、データ ソース デバッガー を使用して、構成済みモデル マッピングをテストする方法を示しています。
データ モデルの LedgerType フィールドは、期待どおりにトランザクション タイプのラベルを公開します。
この方法を大量のトランザクション データに使用する場合は、実行パフォーマンスを検討してください。 詳細については、ER フォーマットの実行をトレースし、パフォーマンスの問題を解決するを参照してください。