過去の桐井戸端BBS (桐ver.8)
17265 グループ最後のレコードを知る方法はありませんか。「#直後値」なんて関数があればいいのですが pokopon 2002/09/15-14:10
グループごとに整列した状態で、そのグループの最後のレコード(行)を知る方法はありませんか?
項目計算式だけで対応できないか模索中です。
↓に示したように、グループ最後の行にマークをつける場合です。

#直前値 ならぬ 「#直後値」なんて関数があれば良いんですけど。

あくまで、一括やマニュアル操作によらず、表の「項目計算式」で対応したいのですが。
17267 Re:グループ最後のレコードを知る方法 幅田 2002/09/15-22:21
記事番号17265へのコメント
pokoponさん
こんにちは。

>#直前値 ならぬ 「#直後値」なんて関数があれば良いんですけど。

「直後値」という言葉は以前にも聞いたような気がするので
全文検索で「直後値」で検索してみると2つくらい出てきたのですが
そのうちの↓などは参考になるでしょうか?
http://www.fuku3.com/~habata/kbbs/kakov8/06363.htm

>あくまで、一括やマニュアル操作によらず、表の「項目計算式」で対応したいので
>すが。

となるとちょっと難しいかも?

この質問は
No.17241での、行集計についてのQ&Aに関係することなのでしょうか?
その行集計については、No.17266で私なりに考えてみたものを
コメントしましたが、いかがでしょうかねぇ。
17268 Re:グループ最後のレコードを知る方法 幅田 2002/09/15-22:37
記事番号17267へのコメント
>「直後値」という言葉は以前にも聞いたような気がするので
念のために言って置きますが、#直後値という関数があるわけではなく、
ここの掲示板で聞いたことがあるというだけです。

ほんとに#直後値という関数があれば、いろいろと活用の場が
広がるような気がしますね。

でも、多分、桐は項目計算にしろ、行集計にしろ
はたまた、レポートでの集計にしろ
上のレコードから1行1行順番に処理しているようなので、
直前値はわかっても、直後値まではまだ未処理なので
わからないのだと思います。

直後値を知るために、下のレコードを参照して
また、上のレコードにもどって計算するとなると
処理が複雑になって、速度も落ちてしまうのではないかと想像しています。

17273 Re:グループ最後のレコードを知る方法 pokopon 2002/09/16-15:54
記事番号17268へのコメント
幅田さん コメント有難うございます。

>No.17241での、行集計についてのQ&Aに関係することなのでしょうか?

これに限らず、グループ最後のレコードを得る(項目計算式で)方法を前々から模索しておりました。
未だ、解決できずにおります。
V5時代にみなさんが色々とトライされていたと思いましたので、何か「秘策」があるのでは?
と思って、今回を機に投稿した次第です。

私が出会ったこの問題は、クラスごとに、ある「数値」で並べ替えをした後に、
クラスで1位と最下位の生徒を同時に絞り込むといった問題でした。
学年全体で処理し、一気に各クラスの1位と最下位を絞り込みたかったのです。
当時は、#直後値という関数が欲しいままに、結果的に並べ替えと#直前値を併用して
フラグを立てて処理していました。
「1発で」が課題だった訳です。

>ほんとに#直後値という関数があれば、いろいろと活用の場が
>広がるような気がしますね。

本当にそう思います。
その行の前後での処理なので、それほど面倒な関数ではないような気がしますが、

>処理が複雑になって、速度も落ちてしまうのではないかと

かもしれませんね。
あるいは破綻防止のために、計算する方向を一方向だけにしたとか。

戻る