Relation entre table ou Lookup ?

Étiquetté : ,

  • Relation entre table ou Lookup ?

    Posté par Vincent sur 19 septembre 2024 à 0h11

    Bonjour,

    Je suis en train de créer une application visant à contrôler la conformité de ventes réalisées dans plusieurs magasins. J’importe les données à partir d’une vue, que j’ai crée dans un datalab, grace à un dataflow vers une table dataverse.

    Je m’interroge sur la meilleure architecture pour mon application . Dois je fonctionner avec un modèle en étoile ? Ma table de vente (table de faits, environs 500k lignes) ne contiendrait que les codes magasins, les codes articles, les prix de vente et je créerai en parrallèle des tables de dimension pour les magasins (Nom, adresse, etc…) et les articles (Libéllés, rayons, etc…). J’afficherai le détails des données magasins / articles via un lookup dans power apps.

    Ou dois je crée une seule grande table contenant directement toutes les informations que je souhaite afficher à l’utilisateur final ?

    Je pensais créer des relations dans Dataverse entre mes tables de dimension et ma table de fait mais je pense que les relations dataverse ne sont pas exactement faites pour ca.

    J’ai peur que les lookup soit consommateur de performance.
    Qu’en pensez vous ?

    Julien a répondu Il y a 3 semaines, 1 jour 3 Membres · 2 Réponses
  • 2 Réponses
  • R3dKap

    Membre
    25 septembre 2024 à 9h04

    Salut @Vincent,

    Qu’appelles-tu “table de dimension” ? Tu veux dire des tables avec des données de référence qui ne bougent quasiment pas dans le temps, qui sont plutôt des listes de valeurs ou des dictionnaires, et vers lesquelles pointent diverses tables portant les vraies données métiers ?

    Perso, je construis toujours mon modèle de données non pas en fonction de ce que je veux présenter à l’utilisateur mais tout simplement pour qu’il représente la réalité du terrain. Une fois que c’est fait, tu peux alors éventuellement ajouter 2 ou 3 champs “techniques” à droite/à gauche pour te faciliter la manipulation ou la recherche des données.

    Donc, typiquement dans ton cas (de ce que j’ai compris) :

    • une table des articles
    • une table des magasins
    • une table des ventes (avec des champs lookup vers la table des articles et des magasins)
    • etc.

    Voilou… 😉

  • Julien

    Membre
    25 septembre 2024 à 17h14

    En phase avec R3dKap concernant les tables.

    Niveau performance, en 15 ans de carrière, je n’ai jamais constaté de problème ou ralentissement avec ce type de champs en standard.
    Toutes les opérations du CRM sont limités à 2 minutes de toute façon pour empêcher les crashs éventuels de tes interfaces.

    Bien sur, si tu en crées 100 sur une même entité, ce sera surtout long à compléter et j’soe pas imaginer ton architecture…

Connectez-vous pour répondre.