プロが教える店舗&オフィスのセキュリティ対策術

ファイルメーカー Pro8.5を利用しています。
使用OS:Windows XP Professional

フィールドに入っているユニークな値の数を求める方法を
知りたいです。

例えば、このようなデータがあるとします。

たまご
りんご
りんご
たまご
みかん
たまご
みかん




上記の例でいくと、現在該当のレコード一覧には3種類の商品が
あるので、「3」という数字を返してくれるフィールドを作りたいです。

集計フィールドのカウントを使ってみましたが、当然ながら「7」になります。

市販マニュアルの関数一覧を一通り探したのですが、
それらしき関数を見つける事が出来ませんでした。


それでは何卒宜しくお願い申し上げます。

A 回答 (6件)

スクリプトの場合


1.品名合計という集計フィールドを作る。内容は品名のカウント/現在の/品名差ソートで集計を再開
2.変換という数字フィールドを作る
3.種類という集計フィールドを作る。内容は変換の合計
4.スクリプトを作る。
 ・ソート/品名でソート
 ・フィールド内容の全置換/計算結果/変換フィールドを「品名合計=1」という計算式で置換
 ・ソート解除
検索後に4のスクリプトを動かせば「種類」フィールドに出ます。
そのままでは種類フィールドの内容(値)が残ってしまうのが難点です。
    • good
    • 0
この回答へのお礼

お返事が遅れ申し訳ございません・・・

今回の作り込みは、もっと勉強を重ねてから
挑戦しようと思います。
今の私のスキルだとかなり困難なような気がしまして・・・

実は他サイトでも質問させて頂いたり、
(サーバー側でトラブルがありすぐに削除となってしまったようですが・・・)
マニュアルを一から見直して頑張ってはいたのですが、
頭が固い&他にやらなければいけない仕事が沢山、という状態でしたので
改めて挑戦する事に致しました。

色々とご教授頂いたのに、本当に申し訳ございません。
誠にありがとうございました。

お礼日時:2008/01/20 04:18

やっぱり・・・


自分がするとしたら、スクリプト使って力技ですね。

今のテーブルをテーブルAとします。
検索結果を表示するためのテーブルBを新しく作って、
表示に必要なフィールド作成、
先ほどの回答の細工をして、
スクリプトで
テーブルAで検索
テーブルBで全レコード削除
テーブルAからテーブルBにレコード取り込み
    • good
    • 0
この回答へのお礼

お返事が遅れ申し訳ございません・・・

今回の作り込みは、もっと勉強を重ねてから
挑戦しようと思います。
今の私のスキルだとかなり困難なような気がしまして・・・

実は他サイトでも質問させて頂いたり、
(サーバー側でトラブルがありすぐに削除となってしまったようですが・・・)
マニュアルを一から見直して頑張ってはいたのですが、
頭が固い&他にやらなければいけない仕事が沢山、という状態でしたので
改めて挑戦する事に致しました。

色々とご教授頂いたのに、本当に申し訳ございません。
誠にありがとうございました。

お礼日時:2008/01/20 04:17

全レコードのユニークな値の数でよければ・・・



フィールド値で値一覧を作って、
WordCount ( ValueListItems ( "ファイル名" ; "値一覧名" ) )

フィールド内が漢字かな混じりで WordCount がおかしくなる場合は
PatternCount ( ValueListItems ( "ファイル名" ; "値一覧名" ) ; "¶" )
- IsEmpty ( ValueListItems ( "ファイル名" ; "値一覧名" ) ) + 1
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

そして、説明不足で大変申し訳ございません・・・

こちら、全レコードではなく、対象レコードです。

例えば、売上日を1月1日~1月20日で検索して、
「おー、この期間は○種類の商品が出たんだな」というのを
ブラウズモードで一目で見たい、という感じです。

「おー、この期間は合計で○円の売上なんだな」というのは
集計フィールドの合計値で求める事が出来ますが、

「おー、この期間は○種類の商品が出たんだな」というのも
「売上合計」の隣あたりに表示させたいのです。

お礼日時:2008/01/08 20:23

別板でのご投稿で判ったのですが、対象レコードなのですね。

失礼。
楽なのはスクリプトですね。
    • good
    • 0
この回答へのお礼

かしこまりました、ご回答ありがとうございました!

お礼日時:2008/01/08 18:04

↓ここで投稿されたのではないのですか?


http://otasuke.goo-net.com/c219.html

↓同じ質問はココに
http://otasuke.goo-net.com/qa3658150.html
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

いえ、本家のOKwaveで質問させて頂いているので
このサイトは初見でした。

(教えてgoo、教えてHome'sくんなど、OKwaveのシステムを
共有しているサイトは沢山あるので)

ありがとうございました!

お礼日時:2008/01/08 02:33

すぐ下の質問と全く同じですよ。


集計フィールドを使う場合は区分けしたいフィールドでのソートが必要です。
たまご、りんごが入っているフィールド名が品名とすると、集計レイアウトで
品名をソート対象とする小計パートを作り、そこに「品名」フィールドと「品名のカウント」
という集計フィールドを置いて、品名でソートしてプレビューモードにします。

または=Getsummary(品名のカウント;品名)という計算フィールドを作り、品名でソートす
ればブラウズモードでも見れますが、ソートが崩れると表示しません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
教えて頂いた方法で、プレビューモードでの表示に成功しました。

ただ、ソートをせずに、プレビューモードにもせずに、
ブラウズモードでパッと見られるフィールドを作りたかったのですが、
これは不可能、という事なんですね。残念です・・・

ちなみに、
>すぐ下の質問と全く同じですよ。

この意味がちょっと分からなかったのですが・・・
私と同様の質問をされていらっしゃる方がいる、という事でしょうか?
であれば、その方のページも参考に拝見したいのでURLを教えて頂けませんか?

お礼日時:2008/01/08 01:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す