Errori comuni della formula
Scopri di più sugli errori comuni che potresti incontrare con le formule in Notion e come risolverli 🔨
If you’re unsure how to fix the errors in your formula, Notion AI can help. Learn more here →
Se non hai accesso a un database di riferimento, le formule non saranno in grado di calcolare in modo affidabile. Questo perché le formule richiedono l'accesso al database di origine e alle configurazioni delle sue proprietà.
Come risolvere il problema
Assicurati di avere accesso a tutte le pagine e i database a cui fa riferimento la tua formula all'interno del tuo pulsante o dell'automazione del database.
A differenza delle proprietà formula nei database, le formule nelle automazioni si aspettano un tipo di ritorno specifico dalle formule (es.: data, testo, numero, persona). In caso contrario, l'automazione non riuscirà a salvare ed eseguire correttamente.
Come risolvere il problema
Assicurati che la formula restituisca il tipo di valore corretto. Ad esempio, se scrivi una formula per impostare il valore di una proprietà Persone di una pagina, la formula deve restituire un utente o un array di utenti, non una data. In alternativa, se valuti una condizione specifica su una proprietà di tipo array (es.: selezione multipla), assicurati di utilizzare .includes invece di == nella tua istruzione if().
Una causa comune di questo errore è l'utilizzo di un tipo diverso per rappresentare un valore vuoto. Ad esempio, in una formula come if(Date, Date.dateAdd(1, “day”), “”), il tipo di ritorno è sconosciuto perché potrebbe essere una data o un testo (a causa di “”). Questo può essere risolto utilizzando empty() per rappresentare i valori vuoti, quindi la formula corretta apparirebbe come if(Date, Date.dateAdd(1, “day”), empty()).
Le formule di Notion possono avere solo 15 livelli di profondità. Ogni volta che una formula fa riferimento a un'altra formula o a un rollup, aggiunge un livello. Questo vale anche se la formula si trova in un database diverso.
Quando viene raggiunto questo limite, Notion mostrerà un messaggio di errore.
Come risolvere il problema
Semplifica la configurazione combinando formule e rollup non necessari in un minor numero di proprietà. Cerca punti in cui più formule eseguono operazioni simili e prova a unirle in una sola.
Se le variabili personalizzate sono definite all'interno della stessa azione di automazione, non possono fare riferimento l'una all'altra.
Ad esempio, se definisci var1 e var2 nella stessa azione, var2 non sarà in grado di utilizzare var1 nella sua definizione.
Come risolvere il problema
Definisci ogni variabile nella propria azione separata (crea la prima variabile, aggiungi una nuova azione alla tua automazione e definisci la variabile successiva separatamente). Questo assicura che ogni variabile venga riconosciuta correttamente.
Attualmente, le variabili definite in un'automazione non possono essere utilizzate per filtrare le pagine nei database su cui vuoi che l'automazione agisca (es.: “Modifica le pagine che corrispondono al filtro contiene variabile”).
Come risolvere il problema
Definisci una variabile personalizzata come
Questa paginadigitandopagina triggernella casella della formula.Aggiungi un'azione
Modifica pagine ine seleziona la variabile personalizzata del passaggio 1 come destinazione.
Quando lavori con relazioni, rollup e proprietà Persone nelle formule, le formule restituiscono un elenco di pagine o Persone. Per fare riferimento alle proprietà all'interno della relazione, dovrai definire il primo elemento, altrimenti l'automazione si metterà in pausa. Potresti riscontrare questo problema anche quando crei una formula che utilizza la funzione map per una proprietà di relazione.
Come risolvere il problema
Usa funzioni come .first() o .at(0) per ottenere il primo elemento, oppure scorri l'elenco di pagine con funzioni come .map() , .filter() , .every(), .some(), .find().
Se una formula incontra inaspettatamente un valore vuoto (più comunemente un valore data o Persone), l'automazione riceverà un errore e si metterà automaticamente in pausa.
Come risolvere il problema
Usa if o ifs per verificare che una proprietà su cui si sta operando abbia un valore. Ad esempio, invece di Date.dateAdd(1, \"day\"), è preferibile usare if(Date, Date.dateAdd(1, \"day\"), empty()). Questo assicura che dateAdd venga eseguito solo quando il valore di Date è presente e indica esplicitamente all'automazione di cancellare la proprietà che viene aggiornata quando Date non è popolato. In alternativa, imposta una vista con un filtro che garantisca l'esistenza del valore della proprietà su cui stai operando e configura l'automazione affinché venga eseguita solo sulle pagine in quella vista.
Se la tua formula non funziona come previsto, potrebbe essere dovuto a un errore di sintassi come parentesi mancanti, operatori errati o funzioni non supportate. Per una panoramica completa della sintassi delle formule, leggi questo articolo →
