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