Welcome to the Revit Ideas Board! Before posting, please read the helpful tips here. Thank you for your Ideas!
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Relational database queries inside Revit

Relational database queries inside Revit

At the moment I'm working on a project where I need to provide a lot of data, and the majority of it is relational and based on rules. I've been developing an MS Access database with an extensive set of queries linking to external data so I know my data is consistent on my current project. Based on the batch DBLink idea I'd say other people are in the same boat as I am.

I know there are Excel addins, or Dynamo etc. etc., but they can be clumsy and difficult to manage. Why not have the ability to create relational database queries directly in Revit? It makes so much sense, Revit is basically a relational database already anyway! A query builder on the back end that we could link to external data sources (excel, access, SQL) to update parameters and data inside Revit as part of a project or company standard would be an extremely powerful function to have at our fingertips. Data updates could be configured to be automatic but that's likely to be clunky and slow the end user experience down, so it could have a manual "update" button or data updates could be tied to a sync to central activity.

On this project I'm on (not standard practice!) but the asset coding system has changed 3 times in the last 8 months. Having queries and linked external data sources, I could simply update the data source and all my model data updates.

End users wouldn't have to be trained on how to classify to project specific requirements on the go or we wouldn't have to code model elements immediately prior to issue, with built in queries to drive data it could be automatically updated as the model is progressed.

We all talk at conferences and on the internet about how data is king and data is where the value is, and we have it all at our fingertips but we're not using it in the most effective way.



I agree totaly. Would be a very usefull feature. Starting by simple tasks as parameter concatenation (as known from spreadsheet programms) up to complex database querys for surfaces. From there on connection tables with each other would offer endless possibilities.

Great idea 


I also agree this form of external data access should be a top development priority.   I have recently developed a solution within Revit, not requiring any apps :), that allows for single or multiple internal relational databases to exist within Revit to control and populate project and family data.


To share the idea, I developed a method using custom-built multi-dimensional universal data nodes nested into families or hosted into projects.  The data nodes hold micro or macro relational database lookup tables that are typically 250-400kb in size.  In a project, they only add a few hundred kb to the overall file size. 


Each data node has two lookup(LU) tables.  The first LU table manages the catalog of each unique product and service data.  The second LU table is the join table that connects the family types to the product/service catalog allowing for a single family type to be connected to multiple products and services (aka BOM Lists).   The family parameters (type and or instance) act as queries to return CSV catalog data to the data node and therefore update the project schedules.   


The user can manually add or edit the lookup table csv data rows and therefore update the entire project with current information.  All data can be managed from a single location and by non-Revit users.  As a bonus, using Excel external datasource connections (MS Access, SQL, etc) you can have dynamic updating of any Revit csv lookup table.   The method allows you to create a single relational-database data node for small projects or many data nodes that are category specific when massive data is to be managed.   


There is a common belief that LU Tables can only be used for MEP elements and return numerical values.  I use LU tables for nearly every category within Revit to return multi-dimensional numerical and text data.  You can return as many columns of text data as you want within a single LU table.  You can also add formulas to LU Table searches to further expand possibilities.  Data nodes are also nested so you can drive data queries within multi-nested families.   You also only need just a few universal shared parameters to manage dynamic data for an entire project across all families. 


What you are seeking is possible today and I hope this insight is found valuable.  


Yes please. If designers could once master the complexities of AutoCAD, we can certainly have a Revit Query Language!

Can't find what you're looking for? Ask the community or share your knowledge.

Submit Idea  

Technology Administrators

Autodesk Design & Make Report