0

OK 出荷のマスター テーブルと別の料金テーブルがあります。それぞれに何百万ものレコードがあり、レガシー システムから Filemaker に取り込まれたため、すべてのフィールドは日付、数値などであってもテキストとして定義されます。

料金テーブルに日付フィールドがあります。年だけを表す数値フィールドを作成したいと考えています。Middle 関数を使用してフィールドを解析し、計算フィールドの年だけを取得できます。しかし、特にフィルター処理と並べ替えを行うので、年をリテラル数値フィールドとして使用する方が高速ではないでしょうか? では、この計算を値に変換するにはどうすればよいでしょうか。計算フィールドを数値に変更しようとしましたが、空白が表示されます。

4

3 に答える 3

2

計算に問題があります。フィールド タイプが異なるからといって、空白になることはありません。すなわち:

Middle("10-12-2010", 7, 4)

計算結果が Number に設定されていれば、これで十分です。GetAsNumber(...) にラップすることもできますが、実際には、フィールド タイプが正しい限り違いはありません。

FM Advanced をお持ちの場合は、[フィールドの定義] ではなく、[データ ビューアー] ([ツール] -> [データ ビューアー]) で計算をセットアップしてみてください。この方が速く、結果が気に入ったら、それをフィールドに転送したり、作成したりできます。交換します。ただし、検索/並べ替えの観点からは、(格納された) 計算と通常のフィールドの間に違いはないため、置換は無意味であり、実際には、間違った置換を元に戻す方法がないため、より危険です。

于 2010-07-02T18:10:11.867 に答える
1

http://help.filemaker.com/app/answers/detail/a_id/3366/~/converting-unstored-calculation-fields-to-store-dataから、私が探していたものは次の とおりです。

基本的に、計算フィールドを使用する代わりに、空の数値、日付、またはテキスト フィールドを作成 し、[レコード] メニューの [フィールドの内容を置換] を使用して、そこに計算 (または参照、またはその両方) を配置します。

于 2010-07-02T15:24:46.343 に答える
0

FileMaker をまったく否定しているわけではありませんが、何百万ものレコードがあるということは、ここでは FileMaker がおそらく間違った選択であることを意味します。あなたのシステムは遅く、遅く、遅くなります。FileMaker はワークグループに最適であり、データベース アプリをより速く開発する方法はありません。しかし、FileMaker が苦手なことの 1 つは、膨大な数のレコードを処理することです。

ところで、ミハイル・エドシンはまさにその通りです。

于 2010-10-21T07:33:47.850 に答える