Notion's Relational Database Formula Syntax Defeats Most Users
Users are frustrated by the limitations and unintuitive nature of Notion's database features and relational capabilities. They are attempting to build complex workflows and automations, often relying on external tools like Zapier and Make, but struggle with formula syntax, relation behavior, and overall system logic. This points to a need for more accessible and predictable database functionality.
SOURCES (60)
“I'm designing a system for users not familiar with Notion so doing these actions manually is not ideal :/ I'll check the notion agent, thanks for the advice”
“Do you know if it’s possible to: Duplicate a database using a button or an automation? Bulk-add a property from one database to all entries in another database?”
two way relation is a good call, thats caught me off guard before too
“Yes the problem is that it's not a two-way relation. You say you have a relation on both databases, which is true. You have the property on both databases for the relation but you should only be creating the relation from one of them by two-way”
“Could it be the two way relation you need to tick? Edited to add: I quickly ran out of the free notion AI allowance, but I used another one that starts with G, and it took some time but it eventually helped me set up my databases the way I want to, including a bunch of pretty complicated formulas to calculate prices automatically etc. Maybe uploading your screenshot there helps. For me it caught a discrepancy in prop types that I would have spent a long time looking for! Sorry I’m not of more he”
“notion filters on linked views can be so fiddly, I had something similar where it just refused to show anything until I double-checked the filter was actually set to "contains" and not "is exactly" matching the page title”
“Hey all, I'm trying to troubleshoot why a ' Linked View of Data Source 'is not populating properly I have a page for my project with 2 'relation' properties to databases. I have the Linked view ones on the lower half of the page but the filter for the name of the project page is not filtering properly. I got it to work on a whim my first time around for one database but have no clue how but couldn't replicate it with the other. So when I started from scratch- neither work”
“Adding the why and a workaround to the "no" above: Notion formulas can only read database properties through prop(). There is no accessor that sees page body content, and the formula language has no word-count function. I checked the official formula syntax doc; it describes no way to count words in the page body. So as long as the words live in the page body, the count in the three-dot menu remains the only counter available as far as I know. What does work: if you keep the writing in”
“Databases don’t require tags. A standard database entry is just a key-value pair. So you create an author property (make it a text or a list property depending on if it’s supposed to be a list of items or not) and just write or link the author(s). Tags are usable inline, that’s what sets them apart from other properties. Otherwise there’s little-to-no benefit to using nested tags.”
“Not sure what you're trying to do here? Just have a control where you set the date, give it a name so that it can be referenced elsewhere, and then you can reference and use the value of that control wherever you need it. There's nothing about Notion's functionality that is particularly special or innovative, or that is protected by a patent.”
“I see, the built-in property suggester is probably not sufficient? There is also another plugin doing that already, forgot the name”
“no but because you can write anything in the text property, i want a property which can only be filled with predefined values.”
“Actually this is what Manus suggested when I ran into a showstopper with Coda!!! I’m looking forward to trying it tomorrow! Esp since there is a ChatGPT plugin.”
“Ugh. I tried Coda today. Hit a showstopper that I can’t make a table row pass a date to a canvas table view… so if I want my daily product and research journal to automatically show tasks for a day, I have to enter the date manually for each dashboard component for that day. Not a big deal for one component but if I want to know what my research looked like on that day as a historical product record (necessary for my project) across multiple components… pain in the butt. That’s like 30-40 min a”
“creating a new database works and copying and pasting, but is there a way to mass-migrate everything over to a new database”
“yeah the formula workaround is barely worth the effort tbh, it breaks the moment you change anything”
“We've been asking for this for a long time. Luckily we're using it less as Codex is linking pages for us more than we do manually now... They added the archived page filter but not proper sorting and filtering for some reason.”
“It would be useful for Filters to allow Page Properties or true formulas as filtering values when in an embedded context. Consider the following: A. Locations database with all rooms B. Events database for requests Assume someone makes an Events request and reserves a Room using a Relation property. There's two possible ways to view this data: Case 1: Someone looking at the Event wants to know which Rooms it requires Case 2: Someone looking at the Room wants to know what Events will be held”
“To clarify The relation field, as in AFTER selected, or the dropdown from which you choose from? If it's from the dropdown before selecting, I may have a solution for you. How to do this in Fibery You have a "preferred appointment times" property on the person, and when selecting appointments, you want it to only show times for you to choose from based on the person's preferred times? Again, if so, I have a solution for you. How to do this in Fibery My solution for you is to tr”
“I'm not sure exactly what your goals or use case is, so there may be other functionality that could solve your problems. No, there's not much you can do with the relation field itself as far as organizing the data within it, but you can transform that data with formulas in other columns. For example if you wanted to sort alphabetically, you could create a new formula column with the following: prop("Contacts").sort(current.prop("Name")) "Contacts" would be y”
“Reason 有时想执行sql: update user asset set balance = balance 100 where id = 123 and balance = 100 save指令只能根据主键进行保存操作: update user asset set balance = balance 100 where id = 123 update指令还没有支持这种incrment/decrment操作 Description 希望update指令也能支持赋值表达式实现的原子递增操作 Existing solutions No response”
“A form view can write XR, CT, MR, and US into the database. Add a Modality select so you know whose row it is, and give each person that form link. Notion will not email the form every Monday by itself. One row per week per person, not four number columns on one row, if you later want to chart it. Group the table by Week and you can see who has not submitted.”
“It depends on how you want to define delete. Notion natively only allows you to archive, which is better than just using filtering conditions, If you know for a fact it's something you want to "delete" for good. Though archive is not the same as truly delete. The only way you can get a true delete, as in move to trash, is you would have to use Notion workers or another bridge (Make.com) to get connected to the Notion API and through the API you can delete, as in move pages to the t”
“You can do this also with a database automation by having it set a property to today's date when another property is changed. Also remember, you can make use of Notion AI to write formulas and help you with automations.”
“you can. put it simple: 1. create a databse, add four columns, number format 2. add a form view for the database 3. configure your form to collect all data, say how many XR/CT/etc. in this week? make sure it is required so it will not be missed. notion will sync the data in the form to the database 4. publish or share your form to each modality and ask them fill conrespond data, they do not need notion account even hth”
“what you're describing is a database template, not a page template.. that's the confusion. it IS still possible, just needs the right setup: turn your "Class notes" page into a database (or if it's already a page, you'll need pages inside it to be database entries, not sub-pages.. this is the part that's probably tripping you up) inside that database, click the dropdown arrow next to "New" → "+ New template" build your Cornell Notes layout inside”
you can tell the notion ai assistant to make data bases for u
“You can make it automatic. If you want the relation to be added automatically whenever you create a new job, you can set it up in the database template for Billy Bob Hours. To do this, you: click the downwards arrow next to "New" in the top right of Billy Bob Hours. click "New Template" and open the "New page" In the template’s properties, add “Billy Bob” to the relation between the two databases. Make sure the relation is set up as a two-way relation. This means th”
“Hi. It was easier and faster to create what you need vs trying to explain it. You can duplicate the template below to your Notion and check out the Relationship between the tables and the Rollup configs in the THR::People table. I don't know how the "Error" property in the People table relates to the Hours entry. But you should be able to reverse engineer what you need. LMK if you have any questions. https://shanerobinson.notion.site/Total-Hours-Rollup-THR-Example-3c261ad14b4b8048a”
“I still don't follow. Bringing properties together is exactly the use case I described using formulas for. I'm not sure how that moves complexity anywhere else.”
“Dang. So if I am reading what you typed correctly, what I am trying to do will not work. I was wanting to automate the Hours and Error properties at the top to automatically update with the sum from the bottom table every time a row is added. But in order for that to work, I have to add every single row to the relation?”
“You’re probably just missing the relation step. The Hours property at the top needs to be a Rollup but it can only sum the values from the table below if the top database has a Relation connecting it to those rows. Create a Relation from the top database. (to do this, create a property and choose relation. Relate it to the bottom table, "Billy Bob Hours") Link the relevant rows to that top entry. Create a Rollup called Hours. Select the Relation → Total Hours → Sum. Do the same for Err”
“Hey guys! I need some help. I know what I need to do, but I am obviously missing a step, because I cannot get it to work. If you look at the picture, I am needing the Hours property at the top to be populated with the Sum of Total Hours from the table below. Same with the Error property and Error-fix Hours. Thanks! https://preview.redd.it/197p0tykujkh1.png?width=917&format=png&auto=webp&s=7636d42246fb8ccf979a85977af9cde3e5d11e29 submitted by /u/notperrind [link] [co”
“Relations have been a pretty big unlock for me as well. But using filters can pretty much achieve the same thing. I work on a team with 10 others and we use a database for clients and link it using relations to a task database. It’s cool to open an individual client page to see the tasks, but you can also just go to the tasks page and filter for the clients you’re working on.”
“I have the Notion Calendar integration set up and have a Meetings db. When I kick off a meeting, how do I get the date and attendees fields to auto populate with the meeting info? Its particularly annoying bc w/out the date field I can't filter/sort my meetings among a very long list. https://preview.redd.it/i7j36ifaxckh1.png?width=1672&format=png&auto=webp&s=b078c812fe88e303847edf3ef1c3e8a0af1f7e88 submitted by /u/loyaultemelie [link] [comments]”
“需求描述 Hermes Studio 的会话分类(session categories)目前是 扁平 的: session categories 表只有 id / name / created at / updated at , 没有 parent id 字段 一个会话只能挂一个分类( sessions.category id ),无法形成层级 希望支持 树状层级分类 (像文件目录树): 对话多了以后管理更清晰(例如:工作 → 项目A → 子任务)。 建议方案 1. session categories 表加 parent id 字段(自引用外键,NULL = 顶级分类) 2. 前端会话列表渲染树形结构(可展开/折叠) 3. 移动会话到分类时支持选择父分类 场景 对话数量大时,单层分类不够用: 工作类对话几十个,还想按项目再细分 学习类对话想按主题/课程分层 感谢考虑!”
“Hi everyone! Is it possible to automate a summary or selected information directly into the body of each Notion page ? For example, after I finish entering data into a database page, I’d like Notion to automatically generate a summary based on specific properties/categories and place that summary inside the page body . I know Notion AI can generate summaries in database properties, but I specifically want the generated summary to appear as content/blocks inside the page itself. Is this possible”
“https://preview.redd.it/ozew8saiosjh1.png?width=1916&format=png&auto=webp&s=ab1e789ffb1788584bc337ed6c94d1921e7065c0 I've created a template dedicated to Wedding Organisation (in French, sorryyyy), but I'm struggling with the budget tracking. What I want : to calculate the budget left to spend. What I have : - Expenses are all listed in the database #1, dedicated to the suppliers. In this databse, you can track all your relation with the suppliers (contact, notes, social acco”
“Yes, that's just a relation. You can write whatever formulas you want a long as there is a relation that links the rows you're interested in. If there's no relation linking a row in a different table, you can't reference it. You can write your own script to generate an invoice using integrations, but that's not a feature Notion actually offers itself.”
“I like the idea of a formula property being able to bring together other properties rather than spreading that complexity everywhere else in the platform.”
“What's better, that properties can't be merged on a widget, or that formulas can provide a workaround? OP has been using Notion for a few years, and I think it's common for people to dismiss formulas early on as being too complex, and like OP, never revisit it when it brings a lot of additional functionality into Notion that's worth exploring at some point”
“relating tasks to a classes database is basically step one imo, makes filtering so much easier”
“Not deeply experienced in notion, but what you described just now, can you not just create multiple views from your existing database and group, filter, or sort it to however you want, just like how you mentioned it? Like, I'm not sure whether linked database is really necessary, but another view could be just the simplest solution? What is it for really? Kinda confused. The last time I used notion, I did exactly how I described it. Just created another view, and grouped the items to however”
“I have set this up but it doesn't work the exact way I want it to (sorry, noob here). I am trying to create a button property in database A with a relation to database B that will show up to add to the related property in a new or existing page without having to click the relation property to manually add. I want to be able to from the database within the page. Right now, I can only get it to function by using a filter that has the start date as today, which makes it difficult to add on prev”
I'm struggling with this for a long time, still haven't found a solution (
yes. What you have in toggles would go into rows in a DB
“The linked database workaround is probably your cleanest path here, but Notion's button actions still have some real gaps with crossdatabase form views. The side реек behavior specifically seems to only work with pages inside the same database. Вееn burned by that exact assumption before. lf the linked view route doesn't get уоu there either, that public URL might end uр being your only real option.”
“Could be a database relation issue rather than the field configuration. Have you checked whether the broken relations point to the same database ?”
“I find once my databases get past a certain level of complexity in terms of properties, automations & formulas they end up getting cluttered because I lose track of which properties are referenced in which formula etc, so I'm reluctant to delete redundant properties in case it breaks something! Obviously I could manually go through them all and make a note of all the properties in each, but it would be good to know if there's an easier way to do it. submitted by /u/MzHmmz”
“Problem A defineTaskCollection board has no declarative way to keep its rows out of the client transcript. changeVisibility exists as the lever, but only on the low level getOrCreateTaskCollection — not on defineTaskCollection . Passing it to defineTaskCollection fails to typecheck. This matters for boards whose work is deliberately not part of the conversation — background work rendered in its own panel rather than inline. Today that board still emits client visible task lifecycle items, which”
“:bullseye: What is your goal? Automate searching for TV series in TMDB when they are added to a Notion database. The goal is to fetch TMDB data (poster, overview, rating) automatically using the series title from Notion. …”
“Describe the Bug When using content versioning on a collection that contains both translated and non translated One to Many (O2M) relations, newly added translated relation items are not displayed correctly in draft versions. pages collection has versioning enabled content is an O2M relation to page content part page content part uses the translations interface and stores localized content in page content part translations The display template for the relation is {{translations.title}} meta data”
“Describe the Bug The field configuration view auto closes on relation selection if selecting directus files , seems to only reproduce on "basic" view. Based on discussion this looks to be due to auto changing to the file(s) field when selecting it introduced in https://github.com/directus/directus/pull/25602 To Reproduce Create collection a Click "Create a Field" Select m2m and give it a name Attempt to select a directus files in the collection list Observe the config auto closes https://github.”
“Feature request It would be useful to be able to create joins on event properties to persons and be able to send that into a destination. E.g., getting the IP from a frontend event or perhaps the plan or spend from a usage event, and then creating a view to join that onto a person. Please describe. Describe the solution you'd like Sending the properties into the persons using capture Additional context From: https://posthoghelp.zendesk.com/agent/tickets/36279 (moved to PostHog: https://us.postho”
