4D v16.3

DISTINCT ATTRIBUTE PATHS

ホーム

 
4D v16.3
DISTINCT ATTRIBUTE PATHS

DISTINCT ATTRIBUTE PATHS 


 

DISTINCT ATTRIBUTE PATHS ( objectField ; pathArray ) 
引数   説明
objectField  フィールド in インデックスされたオブジェクトフィールド
pathArray  テキスト配列 in 重複しないパスのリストを取得させる配列

説明   

DISTINCT ATTRIBUTE PATHS コマンドは、objectField に受け渡したインデックスがついているオブジェクトフィールドが所属するテーブルのカレントセレクションについて、同オブジェクトフィールドから検出される、重複しないパスのリストを返します。

objectField に受け渡すオブジェクトフィールドはインデックスされている必要があり、そうでない場合にはエラーが返されます。

pathArray は実行後、セレクション内から検出された重複しないパスの数と同じ要素数を持ちます。ネストされた属性へのパスは標準のドット表記で取得されます (例: "company.address.number")。オブジェクトの属性名は文字の大小を区別することに留意が必要です。このコマンドはカレントセレクションやカレントレコードを変更しません。

pathArray に返される重複しないパスのリストはアルファベット順にソートされています。

注:

  • objectField の値が未定義のレコードは無視されます。
  • トランザクション中に作成された属性パスもこのコマンドによって検出されます。トランザクションがキャンセルされた場合でも、オブジェクトフィールドのインデックスには作成されたパスが残ることに留意が必要です。

例題  

データベースにはインデックスされた [Customer]full_Data というオブジェクトフィールドがあり、15件のレコードが持つとします:

次のコードを実行した場合:

 ARRAY TEXT(aTPaths;0)
 ALL RECORDS([Customer])
 DISTINCT ATTRIBUTE PATHS([Customer]full_Data;aTPaths)

aTPaths 配列の要素は次のとおりです:

ElementValue
1"age"
2"Children"
3"Children[]"
4"Children[].age"
5"Children[].Name"
6"Children.length"
7"client"
8"FirstName"
9"LastName"
10"Sex"
11"telephone"
12"telephone[]"
13"telephone.length"

注: "length"は全ての配列型属性に対して自動的に利用可能な仮想的なプロパティです。このプロパテ氏は配列をのサイズ、つまり要素の数を提供し、これを使用してクエリすることができます。より詳細な情報については、.length 仮想プロパティの使用 の章を参照して下さい。



参照 


DISTINCT ATTRIBUTE VALUES

 
プロパティ 

プロダクト: 4D
テーマ: 配列
番号: 1395

This command can be run in preemptive processes

 
履歴 

New
初出: 4D v16

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)