J'ai un tableau de données avec les résultats de l'enquête, et je veux faire certains calculs sur ces données. La structure de données est un peu comme ceci: (ignorer toutes les données étant similaires, je coupé et collé toutes les lignes)Calculs dans une table de données
____________________________________________________________________________________
| group |individual | key | key | key |
| | |subkey|subkey|subkey|subkey|subkey|subkey|subkey|subkey|subkey|
| | |q|q|q |q |q |q|q|q |q|q|q |q |q |q|q|q |q|q|q |q |q |q|q|q |
|-------|-----------|-|-|--|--|---|-|-|--|-|-|--|--|---|-|-|--|-|-|--|--|---|-|-|--|
| 1 | 0001 |1|7|5 |1 |3 |1|4|1 |1|7|5 |1 |3 |1|4|1 |1|7|5 |1 |3 |1|4|1 |
| 1 | 0002 |1|7|5 |1 |3 |1|4|1 |1|7|5 |1 |3 |1|4|1 |1|7|5 |1 |3 |1|4|1 |
| 1 | 0003 |1|7|5 |1 |3 |1|4|1 |1|7|5 |1 |3 |1|4|1 |1|7|5 |1 |3 |1|4|1 |
| 2 | 0004 |1|7|5 |1 |3 |1|4|1 |1|7|5 |1 |3 |1|4|1 |1|7|5 |1 |3 |1|4|1 |
| 2 | 0005 |1|7|5 |1 |3 |1|4|1 |1|7|5 |1 |3 |1|4|1 |1|7|5 |1 |3 |1|4|1 |
| 3 | 0006 |1|7|5 |1 |3 |1|4|1 |1|7|5 |1 |3 |1|4|1 |1|7|5 |1 |3 |1|4|1 |
| 4 | 0007 |1|7|5 |1 |3 |1|4|1 |1|7|5 |1 |3 |1|4|1 |1|7|5 |1 |3 |1|4|1 |
------------------------------------------------------------------------------------
Ainsi, chaque individu appartient à un groupe, et a répondu à quelques questions. Ces questions sont toujours regroupées en clés et sous-clés.
Existe-t-il une méthode simple pour calculer les moyennes, les écarts et similaires en fonction des regroupements. Quelque chose comme
public float getAverage(int key, int individual);
float avg = getAverage(5,7);
Je pense que ce que je demande est ce qui serait la meilleure façon de structurer les données en C# pour le rendre aussi facile que possible de travailler? J'ai commencé à faire des cours pour chaque entité, mais j'ai été confus quelque part et quelque chose a cessé de fonctionner. Alors avant de continuer sur cette voie, je me demandais s'il y avait d'autres façons de faire cela?
(Chaque individu peut également décrire les variables, comme agegroup et autres, mais ce n'est pas important pour la fonctionnalité de base.)
Notre solution actuelle fait tous les calculs en ligne dans les requêtes lorsque vous demandez les données de la base de données. Cela fonctionne, mais il est lent et le nombre de requêtes est égal à des questions * individus + clés * individus, ce qui pourrait être beaucoup si des requêtes individuelles.
Des suggestions?