PowerBI Visual not loading all objects from Stream

Hi Alan, I have a problem with the 3D Visualization in PowerBI.

This is the picture of the speckle stream:

And this is a picture of PowerBI 3D Visualization

For some reason, objects are not positioned how they should.

For this example, I exported the folowing categories from Revit 2022. (Categories: Floors, Walls, Structural Framing and Structural Foundation. 3372 elements.)

In Speckle data there are 3372 Objects
But in PowerBI Data there are 3372 Objects + 3372 Objects.Geometry.Mesh. Is this a desired behaviour?

Best Regards

Stream: Speckle
PowerBI: Microsoft Power BI


Hi @gjordanp,

Thanks for testing our PowerBI connector.

Objects.Geometry.Mesh represents what you see on the viewer. For each data, you have a geometry in viewer. So i guess yes, this is the expected behaviour.

I think there is no problem in positioning of the objects but rather, viewer doesn’t show all the elements. Maybe there is a limit to the number of elements viewer can show? I will leave the final call to the makers👑, @AlanRynne @Reynold_Chan .

Yes it seems that not all elements are showing. I have made another example with a diferente building (smaller one) this time from Revit 2020 and I have the same results.(missing elements)

Also I would like to say that Querys take a really long time. Every time I make a change it would take aproximately 2.5 minutes to refresh an this is a small building (1634 elements)

In spite of that I really like what you have done. This Will be a very nice tool in the future.

Thanks a lot Speckle

1 Like

Hi @gjordanp!

I moved this into a new thread, since the powerBI one is getting a bit unmanageable :slight_smile:

Thanks for bringing this up! To expand on @gokermu’s answer:

For each thing you can see, i.e. a wall, we store the properties of that object (it’s height, level, etc…), and also create a “fallback representation” of that object as a Mesh, that will be used to display that object in any place that does not understand what “a wall” is.

I’ll investigate the missing objects issue, as I suspect we may be hitting some limit on the dataRole input that I was unaware of.

As for the super-slow query speeds. We’re aware of the issue, and have some ideas on how to solve it. Basically, right now the “query” will be complete once we fetch all objects from a stream, one at a time (power query M cannot do multi-threading, so we cannot fetch multiple objects at once).

We’ve got some ideas on how to “fix” (or at least, ease) this problem. The current query returns a table, but we could return a NavigationTable, which has the nice ability to delay some of the queries until they’re needed, meaning you’ll be able to (in theory) get the commit object and navigate through it way faster than the current approach.

Thanks for the feedback :heart: It really helps!

I’ll open an issue for this on GitHub and keep you posted here :wink: