バンドを動的に生成したいので、それをレポートにグループ化します。
私が最初に考えたのは、最小値と最大値を取り、その差を除算してバンドを生成することでした。
たとえば、大勢の人の給料があるとします。
- 最低支払額は年間12,000ポンド、最高額は3,000,000ポンドです。
- だから私はそれを同じようなサイズの10のバンドに分割しました:(£3mill-£12k)/10=£298800
- だから私の最初のバンドは£12kから£310,800になり、何千人もの人々が参加します
- 私の2番目のバンドは£31万から£61万になり、数百を持っています
- 他のすべてのバンドには、それぞれに数人がいます
したがって、これは実際にはあまり役に立ちません。手動でバンドを作成する場合は、それぞれにほぼ同じ数が必要です。たとえば、£12k-£14k、£14k-£18k、£18k-£25k、£25-£35k、...、£ 150万〜300万ポンド
これはほんの一例です。さまざまなディストリビューションが存在する可能性があります。
バンドを生成するアルゴリズムを探しているので、ユーザーは必要なバンドの数を入力し、データはそれぞれに同じ数のバンドにグループ化されます。
バンディングは迅速である必要があります-データセット全体をループすることはできません。
アプリケーションはSQLの上にC#ですが、他の言語のソリューションも歓迎します。