v15で導入されたオブジェクトフィールドは、スキーマレスデータベース(NoSQL)に似た非構造化データベースを可能にします。4D v16は、さらに大きな一歩を踏み出しました。非構造化データのためのダイナミックな構造を手に入れる… 混乱していますか?
顧客が独自のフィールドを作成できるカスタムデータを保存できるように、オブジェクトフィールドを使用することを想像してみてください。これはうまく機能し、オブジェクトフィールドを使用する最も興味深い理由の1つです。問題は、顧客がこの非構造化データをどのようにクエリするかということです。どの’フィールド’を使用したかはわかりませんし、クエリエディタを上に構築したり、使用した値のドロップダウンを提供したりすることもできません。
4D v16では、2つの新しいコマンドを使用することができます。 DISTINCT ATTRIBUTE PATHSと DISTINCT ATTRIBUTE VALUES.
- 例えば、ポップアップに表示するために、ユーザが入力した可能性のある既存の属性をすべて知りたい場合、DISTINCT ATTRIBUTE PATHSコマンドを使用することができます。このコマンドは、現在の選択に対してインデックスされたオブジェクト フィールドで見つかった個別のパスのリストを返します。
- また DISTINCT ATTRIBUTE VALUESコマンドは、定義されたパス内のすべての既存値と非反復値をリストで表示するために使用します。このコマンドは、現在選択されているインデックス付きオブジェクトフィールドの定義されたパスから来る異なる値を返します。
さらに、標準的な数学関数がアップグレードされ、オブジェクトフィールドで使用できるようになりました。
- Sum
- Min
- Max
- Average
例
例をご覧になりたい場合は、こちらの例をご覧ください。
詳細は、4D v16のドキュメント、以下の記事を参照してください。