【ITニュース解説】Families with sum of ages of a couple over 70 years old--SPL Programming Practice
2025年09月19日に「Dev.to」が公開したITニュース「Families with sum of ages of a couple over 70 years old--SPL Programming Practice」について初心者にもわかりやすく解説しています。
ITニュース概要
夫婦の合計年齢が70歳以上という条件を満たす従業員家族を特定するプログラミング実践。従業員情報と夫婦関係データを用い、SPLでデータを結合し、年齢を計算、条件で抽出する一連の流れを具体的に解説する。
ITニュース解説
企業が従業員向けの新しい福利厚生として、住宅手当の提供を計画している。この手当は、社内で結婚している夫婦が対象で、さらに夫婦の合計年齢が70歳以上という条件がある。このような制度を導入する際、対象となる従業員を正確に特定するためにITシステムがどのように活用されるか、その仕組みを具体的に見ていこう。
まず、対象者を特定するためには、二種類の情報が必要になる。一つは「従業員情報」で、各従業員の氏名、生年月日、所属部署などが含まれる。もう一つは「従業員間の関係情報」で、どの従業員とどの従業員がどのような関係にあるか(夫婦、親子など)が記録されている。
これらの情報は、一般的に「テーブル」という形でデータベースに格納されている。例えば、従業員情報テーブルには、従業員ID、氏名、生年月日といった項目(列)があり、各従業員の情報が一行(レコード)ずつ並んでいる。従業員関係テーブルには、従業員1のID、従業員2のID、そしてその二人の関係を示す情報が格納されている。ここで重要なのが「従業員ID」で、これは各従業員を識別するためのユニークな番号だ。このIDによって、異なるテーブルに散らばった情報を結びつけることができる。
さて、私たちが直面する問題は、従業員関係テーブルだけを見ても、各従業員の生年月日が分からないことだ。生年月日が分からなければ、年齢を計算して夫婦の合計年齢を出すことはできない。そこで、二つのテーブルを連携させて、必要な情報を集める必要がある。
具体的な処理の流れを、データ処理ツールであるSPLの例を用いて説明する。
最初のステップでは、必要な元データを用意する。一つは全従業員の詳細が書かれた従業員情報テーブルを読み込む。これは、後で個々の従業員の生年月日を調べるために必要となるすべての情報を手元に準備する作業にあたる。もう一つは、従業員間の関係が記録された従業員関係テーブルから、夫婦関係にある従業員の組だけを読み込む。世の中には夫婦だけでなく、親子や兄弟など様々な関係があるが、今回の目的は夫婦なので、それ以外の関係のデータはここでは不要となる。これにより、対象を夫婦関係にある従業員IDの組み合わせに絞り込むことができる。
次に、この「夫婦関係にある従業員IDの組み合わせ」に対して、従業員情報テーブルからそれぞれの従業員の生年月日を紐付ける作業を行う。従業員関係テーブルには、夫婦それぞれの「従業員ID」しか記録されていないが、このIDを手がかりに、先に読み込んだ従業員情報テーブルを「検索」し、IDに対応する従業員の全レコード(生年月日を含む)を取り出す。これは、各従業員のIDを鍵として、従業員情報テーブルから該当する従業員の生年月日などの詳細情報を参照する処理である。この処理によって、夫婦それぞれの従業員IDと、それに紐づく生年月日などの詳細情報が、一つのデータとして扱えるようになる。
生年月日が得られたら、いよいよ年齢を計算する。現在の年と生年月日から、夫婦それぞれの年齢を正確に割り出す。そして、その二人の年齢を足し合わせることで、夫婦の合計年齢を算出する。この段階で、各夫婦について、それぞれの氏名と合計年齢が明確に記録された新しいデータが作成されることになる。
最後のステップは、福利厚生の条件である「夫婦の合計年齢が70歳以上」という基準を満たす家族を特定することだ。先ほど算出した各夫婦の合計年齢を見て、70歳以上である夫婦だけをフィルタリング(絞り込み)する。これにより、最終的に住宅手当の対象となる夫婦のリストが完成する。
このように、複数のデータソースから必要な情報を抽出し、それらを組み合わせて新しい情報を作成し、さらに特定の条件で絞り込むという一連のプロセスは、ITシステム開発において非常に基礎的で重要な考え方だ。複雑に見える課題も、データを段階的に加工していくことで、最終的な解決へと導くことができる。今回のようなデータ処理は、従業員の福利厚生だけでなく、企業の様々な意思決定をサポートするために日々行われている。SPLのようなデータ処理ツールは、これらのステップを効率的かつ明確に記述するために用いられる。