注
コミュニティの関心グループが Yammer から Microsoft Viva Engage に移行されました。 Viva Engage コミュニティに参加し、最新のディスカッションに参加するには、「 Finance and Operations Viva Engage Community へのアクセスを要求する 」フォームに入力し、参加するコミュニティを選択します。
この LISTDISTINCT 関数は、指定されたリストのすべてのレコードに対して、指定された式をセレクターとして計算します。 固有のセレクター値ごとに 1 つのレコードを含む、新しい レコード リスト 値を返します。
構文
LISTDISTINCT (list, selector)
引数
list: レコード リスト
レコード リスト データ型のデータ ソースの項目の有効なパス。
selector: プリミティブ データ型
指定されたリスト内のすべてのレコードに対してセレクター値を計算するために使用される有効な式。
このパラメータでは、次のデータ型がサポートされています:
- ブール値
- 日付
- DateTime
- GUID
- 整数
- Int64
- レアル
- 文字列
戻り値
レコード リスト
レコードの結果リスト。
使用上の注意
作成されたリストの構造は、指定されたリストの構造に一致します。
指定したリストの複数のレコードに対して同じセレクター値が計算される場合があります。 この場合、作成されたリスト内の対応するレコードのフィールド値は、セレクター値の計算対象となる指定されたリストの最初のレコードの値と等しくなります。
この関数の実行は、メモリ内に存在する レコード リスト タイプの 電子申告 (ER) データ ソースで実行されます。
GROUPBY データ ソースを使用して、固有の値を持つセレクターが計算されるレコードの一覧を生成することもできます。 ただし、関数の実行はメモリ内で行われるため、パフォーマンスとメモリの消費の観点から、GROUPBY データ ソースより LISTDISTINCT 機能を使用することをお勧めします。
例
次の例は、特定の期間中に少なくとも 1 つの売上請求書またはプロジェクト請求書が発行された固有の顧客アカウント番号の一覧を取得する方法を示しています。
CustInvoiceJour アプリケーション テーブルを参照し、特定期間の売上請求書をフィルター処理する
Record listタイプの SalesInvoice データ ソースを入力します。このデータ ソースの
InvoiceAccountフィールドは、請求済顧客のアカウント番号を返します。ProjInvoiceJour アプリケーション テーブルを参照し、特定期間のプロジェクト請求書をフィルター処理する
Record listタイプの ProjectInvoice データ ソースを入力します。このデータ ソースの
InvoiceAccountフィールドは、請求済顧客のアカウント番号を返します。式
LISTJOIN(SalesInvoice, ProjectInvoice)を含むCalculated fieldタイプの AllInvoices データ ソースを構成します。このデータ ソースは、売上請求書およびプロジェクト請求書の結合リストを返します。
式
LISTDISTINCT(AllInvoices, AllInvoices.InvoiceAccount)を含むRecord listタイプの InvoicedCustomer データ ソースを構成します。このデータ ソースは、定義された期間中に請求された固有の顧客ごとに 1 つのレコードを含む新しいリストを返します。 このリストの
InvoiceAccountフィールドには、顧客アカウント番号が含まれています。