Skip to main content

Element Table

The Element table is the most important data source at the heart of the data model. Whenever you count or select objects, it will be using the Element table.

This table is a mixture of all the physical elements in the model (walls, floors, furniture, etc.), mixed with multiple conceptual elements (material, rooms, cameras, lines, tags, etc.).

This table has a union of two concepts:

  • Elements — exist at least conceptually. Everything in this table is an Element.
  • Instances — exist in concept and in the "physical" model. Not everything in the Element table is an Instance and has Instance information. Having Instance information means the element has geometry, can belong to a Workset, be in a Phase, be located in a Room, be located on a Level, can be pinned, etc.

See the "Instance Folder" section below for information specifically related to Instances.

_key

Unique key value representing each Element. Can be used to Count the number of Elements selected or the total number in a project. Many tables connect to this value using the [Element] value.

_key.ModelFileName-RevitID

This key is created to connect to external data sources that contain the Revit ID. In large models, it is possible that the Revit ID will be found in more than one of the linked models. We recommend that you append the name of the model to the Revit ID to create a truly unique connection key between the Power BI file and external data.

Element.Index

These are equivalent to the _key databases and are manually added to each other. At that point, the Keys may repeat, but the index will not.

Element.Name

The Name of the Element. Usually this is the same as the Instance Name or the Family Type Name.

The Element Name is often the same as the FamilyType.name, providing a bit more information on stairs and systems.

Element.RevitId

The Revit ID can be used in Revit to select Elements using Manage > Select by ID.

If you want to use a key to connect to other data sources with Revit IDs, we suggest using the 'Element'[_key.ModelFileName-RevitID] value instead, because it guarantees a unique connection key.

Element.Type

Provides a less detailed alternative to 'Category'[Name_Full].

Element.UniqueId

This is the Revit assigned GUID of each Element. Much like the Revit ID, it is unique to each model, but can be incorrectly assigned in linked files, and therefore cannot be used to select elements in Revit.

If you want to use a key to connect to other data sources with Revit IDs, we suggest using the 'Element'[_key.ModelFileName-RevitID] value instead, because it guarantees a unique connection key.

📁 Instance

Elements that are not Instances will not contain any information in these columns.

Instance_IsPinned

"True" or "False" as Boolean. Indicates if the Instance is Pinned. Pinned elements cannot be moved in Revit without unpinning. It’s usually good practice to pin levels and grids to prevent users from moving or deleting them by accident; however, pinning too many irrelevant elements is bad for performance.

Instance_IsPinned_Text (measure)

Same as 'Element'[Instance_IsPinned], but the value is text format instead of Boolean.

Used in the Grid Audit report matrix.

Instance.Constraint_Base

Name of the Instance’s Base Constraint, if any.

Instance.Constraint_Top

Name of the Instance’s Top Constraint, if any.

Instance.HasMaterial (measure)

"Yes" or "No". Indicates if there are one or more materials in the Instance.

Instance.Name

Name of the Instance. Usually this is the same as the Element Name or the Family Type Name.

Instance.Name and Element.Name values are always the same. Instance.Name and FamilyType.Name are sometimes different.

Instance.Type

Provides a less detailed alternative to 'Category'[Name_Full].

IsInstance

"0" if the element is not an Instance; "1" if the element is an Instance.

📁 Reference Data

The Reference Data folder contains a lot of data that is duplicated outside of the Element table. This redundancy is meant to facilitate the exploration of the Element table without the need to join tables to understand the data.

For example, there is a conceptual with no information or relevant name or Type, but using the 'Element'[Category.NameFull] value, we can see that it’s a pipe centerline using values in the same table.

Additionally, this folder is great for users to quickly create dashboards without having to navigate multiple tables.

This folder also contains keys to external tables that are hidden to the user.

BimDocument.File_Name

Indicates the name of the Revit or IFC file. Duplicate of 'BimDocument'[File_Name].

Category_BuiltInCategory

The internal code for the Revit Category, for example: "OST_PipeCurvesCenterLine". This value does not change when Revit uses different languages, so it’s a consistent way to refer to the Categories despite the sometimes cryptic names.

Category_Tag

Duplicate of 'Category'[Category_Tag].

The Category Tag allows the filtering of different elements into major Categories:

  • Annotation — Rooms tags, etc.
  • Conceptual — Views, Cameras, Areas, etc.
  • Group — Revit Groups
  • Link — Revit Links
  • Physical — Real Physical items
  • System — Electrical, Mechanical, MEP and Piping Systems
  • Topography — Topography is considered different than physical elements since it is part of the earth

Category.NameFull

Category Name. Duplicate of 'Category'[Name_Full].

Family.Name

Family Name. Duplicate of 'Family'[Family_Name].

FamilyType.Name

Family Type Name. Duplicate of 'FamilyType'[FamilyType_Name].

Workset.Name

Name of the Workset to which the Element belongs, if any.

📁 Report Specific

Element columns that are specific to reports are placed in this folder to isolate them from official Element columns that are more important and universal.

Room_Key_Grouping

Indicates if the Elements is assigned to a room or not: "Assigned" or "Not Assigned".

Used in the sample Power BI template "Room Content" report pie chart to show more intuitive, human-readable values.

📁 External Keys

These keys connect to a variety of external tables. Once the connection is made, the key is hidden from the user to reduce data noise.

CompoundStructure_key (hidden)

Connects to 'Element-CompoundStructure'[_key].

Family.Element_key (hidden)

Connects to 'Family'[_key].

FamilyType.Element (hidden)

Connects to 'FamilyType'[_key].

BimDocument_key (hidden)

Connects to 'BimDocument'[_key].

Category_key (hidden)

Connects to 'Category'[_key].

Instance_key (hidden)

No connections yet.

Instance.Assembly_key (hidden)

No connections yet.

Instance.Host_key (hidden)

No connections yet.

Instance.Level_Base_key (hidden)

No connections yet.

Instance.Level_key (hidden)

Connects to 'Instance-Level'[_key].

Instance.Level_Reference_key (hidden)

No connections yet

Instance.Level_Schedule_key (hidden)

No connections yet.

Instance.Level_Top_key (hidden)

No connections yet.

Instance.PhaseCreated_key (hidden)

No connections yet.

Instance.PhaseDemolished_key (hidden)

No connection yet.

Instance.Room_key (hidden)

Connects to 'Instance-Room'[_key].

Instance.RoomFrom_key (hidden)

No connection yet.

Instance.RoomTo_key (hidden)

No connection yet.

Instance.Workset_key (hidden)

Connects to 'Instance-Workset'[_key].

Host_key