## EN BREF
Les relations, rollups et formules sont les fonctionnalités les plus puissantes de Notion — et les moins bien maîtrisées. Ce guide expert vous montre comment connecter vos bases de données entre elles, agréger des données avec les rollups, et automatiser des calculs avec les formules.
—
## Les Relations Notion
Une Relation est un lien entre deux entrées de bases de données différentes. Elle permet de connecter des informations entre elles sans les dupliquer.
**Exemple :** Lier chaque Tâche à son Projet parent, chaque Facture à son Client, chaque Article à son Auteur.
### Créer une Relation
1. Dans votre base de données A, ajoutez une propriété de type ‘Relation’
2. Sélectionnez la base de données B vers laquelle vous voulez créer le lien
3. Choisissez si la relation est bidirectionnelle (crée une colonne miroir dans B) ou unidirectionnelle
[IMAGE: notion-database-relations-rollups-formules-avance.jpg | Notion bases de données — relations rollups et formules avancées]
**Relation bidirectionnelle :** Depuis Tâches, je vois le Projet de chaque tâche. Depuis Projets, je vois toutes les Tâches de chaque projet. Un lien, deux vues.
**Relation unidirectionnelle :** Useful quand vous ne voulez pas polluer la base B avec une colonne miroir.
## Les Rollups — agréger des données liées
Un Rollup récupère une valeur agrégée depuis les entrées liées.
**Exemple :** Pour chaque Projet, calculer automatiquement le nombre de tâches, la somme des heures estimées, ou la date de la tâche la plus tardive.
### Créer un Rollup
1. Ajoutez une propriété de type ‘Rollup’
2. Sélectionnez la Relation source
3. Sélectionnez la propriété à agréger dans les entrées liées
4. Choisissez la fonction d’agrégation : Compter, Somme, Moyenne, Min, Max, Plage, Afficher toutes…
**Rollups les plus utiles :**
– `Compter tout` → Nombre de sous-tâches dans un projet
– `Somme` → Total des montants de factures d’un client
– `Pourcentage complété` → % de tâches terminées d’un projet
– `Earliest date` → Deadline la plus proche parmi les tâches d’un projet
– `Latest date` → Date de fin réelle d’un projet
## Les Formules Notion
Les formules permettent des calculs et manipulations sur les propriétés d’une entrée.
### Formules numériques courantes
**Marge brute :**
`prop(« Chiffre d’affaires ») – prop(« Coût »)`
**Taux de marge :**
`round((prop(« Chiffre d’affaires ») – prop(« Coût »)) / prop(« Chiffre d’affaires ») * 100)`
**Compte à rebours :**
`dateBetween(prop(« Deadline »), now(), « days »)`
**Statut d’urgence :**
`if(dateBetween(prop(« Deadline »), now(), « days ») < 3, "🔴 Urgent", if(dateBetween(prop("Deadline"), now(), "days") < 7, "🟡 Cette semaine", "🟢 OK"))`
### Formules texte
**Nom complet :**
`prop("Prénom") + " " + prop("Nom")`
**Initiales :**
`slice(prop("Prénom"), 0, 1) + "." + slice(prop("Nom"), 0, 1) + "."`
**Status avec icône :**
`if(prop("Statut") == "Terminé", "✅ Terminé", if(prop("Statut") == "En cours", "🔄 En cours", "⏸ En attente"))`
### Formules de date
**Âge d'une entrée :**
`dateBetween(now(), prop("Date de création"), "days") + " jours"`
**Prochain renouvellement :**
`dateAdd(prop("Date début"), prop("Durée mois"), "months")`
## Relations circulaires à éviter
Notion ne permet pas les relations circulaires directes (A → B → A). Si vous avez besoin de ce type de structure, utilisez une table pivot intermédiaire ou restructurez vos bases.
> Lire aussi : [Notion automatisation Zapier](/notion-automatisation-zapier-make-integration/) | [Notion API développeurs](/notion-api-guide-developpeurs-integration/)