2009-06-16 17 views
0

Excusez-moi pour la question laineux - Je ne suis pas familier avec les cubes OLAP &. Laissez-moi vous expliquer ma situation ...Un cube OLAP peut-il être construit lorsque les détails du modèle ne sont pas connus à l'avance?

Je voudrais construire une base de données aux résultats du questionnaire de magasin, où il pourrait y avoir quelques dizaines de questions par questionnaire. Après avoir recueilli quelques milliers de questionnaires remplis, je voudrais analyser les résultats, et qui sonne comme un bon candidat pour des trucs de type OLAP (dont je connais très peu). Je dois pouvoir interroger «tous les hommes âgés de 20 à 30 ans qui possèdent un chien», c'est-à-dire combiner les réponses «quel âge as-tu», «possédez-vous un chien», etc.

I veulent aussi être en mesure de stocker les résultats de l'enquête du mois prochain, et le mois après cela, etc., et exécuter des requêtes montrant ce mois-ci par rapport à la dernière, etc. jusqu'à présent, si bon, je suppose.

Voici le fond de ma question: alors que ce mois-ci mon questionnaire pourrait avoir des questions sur le sexe, l'âge, le questionnaire du mois prochain pourrait inclure une question sur (disons) la couleur des yeux. Cela pourrait (ou non) laisser tomber certaines questions. Est-ce faisables dans le monde OLAP, ou avez-vous besoin de connaître toutes les « dimensions » (si j'utilise le terme de droite) à l'avance quand vous concevez votre cube?

De même, si j'exécute plusieurs enquêtes différentes avec des questions différentes mais qui se chevauchent, puis-je les stocker toutes dans le même cube et exécuter des requêtes dans des enquêtes? Chaque enquête peut comporter quelques douzaines de questions, dont une douzaine se chevauchent avec d'autres enquêtes. Les systèmes OLAP répondent-ils à ce genre de problème? Je ne sais pas à quel point ils sont rigides, et s'ils sont en fait appropriés pour ce genre d'utilisation.

Toute aide grandement appréciée.

PS. Avant que quelqu'un ne le suggère, j'ai simplement acheté le Data Warehouse Toolkit de Kimball, mais je n'ai pas encore eu l'occasion de le lire. (Je soupçonne qu'il ne peut pas répondre directement à cette question de toute façon).

Répondre

2

Il existe un papier blanc here qui comporte une section couvrant les données d'étude de modélisation. C'est peut-être le genre de chose que vous cherchez.

+0

C'est parfait, merci! –

+0

L'URL a changé: http://www.sqlbi.com/wp-content/uploads/The_Many-to-Many_Revolution_2.0.pdf Page 112 + – TvdH

+0

Le modèle multidimensionnel commence à la page 24, page 112 est le modèle tabulaire. – TvdH

1

Je vais commencer en disant que je suis un débutant OLAP aussi, mais je pense avoir une poignée sur ce que vous cherchez à atteindre. En effet, vos questions sont l'une de vos dimensions, la réponse à cette question fait partie de la table de faits, c'est-à-dire que la table de faits a la réponse et les dimensions associées à l'âge, au sexe, à la localité . Cela peut sembler un peu aller de l'avant, mais c'est quelque chose que je viens d'accepter pour OLAP. Vous pouvez également vouloir une autre dimension liée à la question qui les regroupe dans les questionnaires, mais qui pourrait simplement être une valeur dans la dimension de la question elle-même, par exemple Question {QuestionnaireID = 1, QuestionNumber = 4, QuestionText = "Possédez-vous un chien? ? " }

Je ne sais pas si cela aide, mais je l'espère, vous donnera quelques idées si rien d'autre.

+0

Merci pour votre réponse. Je ne suis pas sûr à 100% que je suis, cependant. Voulez-vous dire que «question» est une dimension, ou plusieurs? (Je pourrais avoir des douzaines de questions, et j'ai lu quelque part que ce n'est pas un bon plan d'avoir plus de 12 dimensions dans un cube). Peut-être que ce que vous voulez dire, c'est que * certaines * questions sont exprimées en termes de dimensions (c'est-à-dire celles dont j'ai besoin pour couper les données), mais que deviennent les autres? Avoir une seule dimension pour les questions semble aussi lourde, car les réponses aux différentes questions peuvent varier considérablement - certaines peuvent avoir une réponse numérique, d'autres seront à choix multiples, des dates ... –

0

Un autre débutant OLAP ici aussi ...

1) Je n'ai une expérience créer des cubes OLAP avec Mondrian (Pentaho), qui ne vous permet de réviser le schéma du cube, qui est juste un fichier XML, et reconstruisez-les (ou en parlant Pentaho, publiez). 212 Je suis d'accord avec la recommandation de Lazurus sur la création d'une dimension de questions.Il n'est pas obligatoire que chacun de vos "faits" ait une valeur présente dans toutes les dimensions, donc si vous deviez regarder à travers la dimension "Question n", alors je crois que cela ne devrait vous donner que des données pour les questionnaires. n "est une dimension pertinente.

+0

Merci. Je n'ai pas mentionné que je voudrais que mes utilisateurs aient le contrôle de leurs questionnaires, alors idéalement ils utiliseraient une interface (web) pour ajouter des questions - cette étape de "re-publication du cube" semble un peu maladroite; c'est bon de savoir que je dois m'inquiéter à ce sujet. Malheureusement, il n'y a aucune garantie qu'une question aura le même numéro de question dans tous les questionnaires, mais je suppose que tout ce dont j'ai vraiment besoin, c'est d'une pièce d'identité qui peut être utilisée pour lier des questions connexes. Personne jusqu'à maintenant ne dit que le nombre de quesions (dont chacune pourrait avoir des dizaines de réponses possibles) est un problème. C'est encourageant. –

+0

Si vous êtes expérimenté dans la modélisation relationnelle, essayez d'abord de créer un modèle relationnel de vos données. Après cela (et après avoir lu le livre de Kimball), vous aurez une meilleure idée de la manière de traduire le design relationnel en design dimensionnel. Pour les questions, je créerais une dimenshion avec toutes les questions et réponses, sous la forme [QuestionnaireID, QuestionnaireText, QuestionID, QuestionText, AnswerID, AnswerText]. Mettez les réponses des utilisateurs dans la table de faits, et vous serez en mesure de découper toutes les réponses de tous les utilisateurs par questionnaire, question et réponse. –