Power BI connector changelog!

:tada: What’s New Since 3.0.0 >> 3.1.2

Hey @Community ,

It’s been a while since our last announcement, but we’ve been busy cooking up some exciting improvements to your Speckle Power BI experience! Here’s what’s been added since our last major release:

Auto Property Extraction

Now properties are automatically extracted and cleaned up without any extra configuration. This is currently only available for applications that support DataObjects.

  • Supported applications: Revit, Archicad, Navisworks, Tekla, ETABS, Civil.
  • Not supported applications: Rhino, SketchUp, AutoCAD.

Control Camera Animation on change

We’ve added a new setting to control the camera animation on change. Now, you have control if you want camera to stay still when it’s being filtered by other visuals.

Persistent Settings and Filters

Your preferences matter! Now settings you applied are persisted across sessions. So you don’t have to keep setting them every time you open your report. Colors and filters are now persisted as well per visual instance. So if you filtered a model or applied a color to a model, it will be the same when you open your report again.

:new_button: Helper Functions

We’ve added a series of functions to Speckle namespace to help you work with the data you’re pulling from Speckle.

Speckle.Objects.Properties

Properties can be a pain to work with: They can be nested and be in different formats. We’ve added a new helper function to help you work with properties.


Speckle.Objects.Properties(inputRecord as record, optional filterKeys as list)

This function will return a record with the properties and their values that are in the input record. You can also filter the keys that are returned. So instead of getting a record with all the properties, you can get a record with only the properties you want.

Speckle.Objects.CompositeStructure

We’ve added a new helper function to help you work with the composite structure of an object. So you can quickly get the composite structure of a Wall, Floor, Roof or any element type that has a composite structure.

Currently this is only available for Revit and Archicad.


Speckle.Objects.CompositeStructure(inputRecord as record, optional outputAsList as nullable logical)

Accepts the object record as input and returns a record with the composite structure of the object by default. There is an optional parameter to return the composite structure as a list. This option is useful for expanding the each element into its own row if you want to.

Speckle.Objects.MaterialQuantities

We’ve added a new helper function to help you work with the material quantities of an object. So you can quickly get access to material quantities. It is intended to be used in “Add Column” flow, so it interacts with individual records.


Speckle.Objects.MaterialQuantities(inputRecord as record, optional outputAsList as logical)

Accepts the object record as input and returns a record with the material quantities of the object by default. There is an optional parameter to return the material quantities as a list. This option is useful for expanding the each material quantity into its own row if you want to.

Speckle.Models.Federate

You could already federate models if you were to give a federated model url as input to the data connector. But now we’ve added a new helper function to manually federate loaded individual models.

This helper function is useful if you already have the models loaded in your Power BI report and you want to federate them.

Tip: You can federate models from different projects using this helper function.


Speckle.Models.Federate(tables as list, optional excludeData as logical)

Accepts a list of tables as input (you can federate multiple models at once) and returns a table. There is an optional parameter to exclude the data from the federated models. This option is useful if you only want to use the fields for 3D Visual (Version Object ID and Object IDs).

Speckle.Utils.ExpandRecord

We’ve added a new helper function to help you expand a record fields. This is especially useful when used in combination with Properties helper function.

It expands record fields into their own columns.


Speckle.Utils.ExpandRecord(table as table, columnName as text, optional FieldNames as list, optional UseCombinedNames as logical)

Accepts a table as input, column name that contains the record you want to expand and adds new columns for each field in the record. There is an optional parameter to filter the fields that are expanded. And an optional parameter to use combined names for the new columns.

:movie_camera: Coming Soon

We are going to release a series of tutorials to help you get the most out of the new features. Keep an eye out for them on our YouTube channel!

We are also planning to release Power BI templates to help you get started with the Power BI connector.

Love these new features? Found a bug? Have ideas for what’s next? We’d love to hear from you!

15 Likes