過去の桐井戸端BBS (桐ver.8) |
2821 | 横集計で文字を数えたい | 桐坊主 | 1999/10/3-10:43 |
こんにちは。チョット集計で困ってます。 横集計で、データの内容別に集計する方法なんですが データ例 1 2 3 4 5 ・・・・29 30 31 札幌 雪 晴 雪 晴 曇 晴 晴 曇 晴 東京 雨 晴 曇 雪 晴 曇 晴 晴 曇 福岡 晴 晴 曇 晴 雷 雨 風 晴 雨 条件:日付は最高31項目 雨・雪・等は約30個くらい(その他は、発生しません) 地域は、1000行以上 このような状態で、 1・・31 晴 曇 雨 雪・・・ 札幌 雪・・晴 5 2 3 2 東京 雨・・曇 2 1 4 3 福岡 晴・・晴 3 5 2 4 日付の後方に、データ内容を集計できればいいのですが 項目集計でなく、転置集計みたいなのでもかまいませんが よろしく、お願いいたします | |||
2822 | Re: | 幅田 | 1999/10/3-11:35 |
記事番号2821へのコメント 桐坊主さんこんにちは。 このHPの桐ver.5のノウハウにある 「データ(文字列)の中に指定した文字がいくつ含まれているかを調べたい。」 を使えばいいと思います。 まず[1]から[31]までの項目をすべて連結した項目[集計]を作ります。 [集計]の項目計算式には #連結([1],[2],[3],...,[30],[31]) そして[集計]の中にそれぞれの文字がいくつあるか数えます。 [晴]の項目計算式には #文字数([集計])−#文字数(#文字置換([集計],”晴”,””)) [曇]の項目計算式には #文字数([集計])−#文字数(#文字置換([集計],”曇”,””)) というふうに書いていきます。 | |||
2823 | Re: | 幅田 | 1999/10/3-12:03 |
記事番号2822へのコメント 自己レスです。 ちょっとひっかかったのは、天気の種類が30種類くらいあるとのこと。 これがすべて1文字なら上記の方法で問題ないのですが、例えば 「晴のち曇」とかいう風に2文字以上も含まれている場合は、正確に 数えることができないような気がします。 で、あれば、数える文字は1文字であればいいのですから、天気の種類を 1文字でコード化してしまえばいいのです。 1から9まで使ってあとはAからZまで使えば35種類使えますね。 例えば1なら晴、2なら曇という風に。 でもそしたらわかりにくい表になってしまいますので、 天気マスタの表を別に作ります。 [天気CD][天気] 1 晴 2 曇 . . A 雨のち曇 B 雨一時曇 もとの表には[1]から[31]の項目のほかにもう31個の項目を 用意します。 「1CD][2CD][3CD]..[31CD] そして例えば[1]に”晴”を入力したら[1CD]に”1”と入るように [1CD]の項目計算式には #表引き([1],=,”天気マスタ”,[天気],[天気CD]) というような式を設定し、それぞれ[31CD]まで同様の式を設定します。 もちろん入力は[1CD]にコードで行って、[1]に天気を表示させるように してもかまいません。その場合は逆に[1]に項目計算式を設定します。 で[集計]の項目には #連結([1CD],[2CD]..[31CD]) という風に設定して、1文字でコード化された天気の数を前述のように 数えればいいと思います。 あとは地域の数が1000行以上あろうとなかろうと全然問題ありません。 | |||
2824 | Re: | 桐坊主 | 1999/10/3-15:50 |
記事番号2823へのコメント 幅田さんへ。さっそくお答えありがとうございます >で、あれば、数える文字は1文字であればいいのですから、天気の種類を >1文字でコード化してしまえばいいのです。 >1から9まで使ってあとはAからZまで使えば35種類使えますね。 なるほど良い考えですね。ダイレクトに処理方法を考えていたものですから なかなか前へ進めず、困ってました。 別のマスターから1文字コードに変換後、#文字数の引き算で処理できました。 本当にありがとうございました |