Receiving Rhino Object Attributes (Keys/Values) in Power BI

Thank you for seeking help! Our friendly community is here to assist you. :pray:

To assist you better, please consider providing:

  • Issue: I am able to send object attributes out of grasshopper to speckle server. I can view the data on speckle front end. I do not know how to access it in power bi. I wanted a power bi tutorial explaining hwo to access object data stored as “records” in pbi, but I do not see the data I ma looking for.

I ran into some PowerQuery methods to dig down and get rhino layer data, but I ma hoping I can bypass this if I send the data out of GH.

Is anybody able to provide me some insights? Thanks in advance.

Speckle data on specke server:

PBI data:

Basic script to send the data:

1 Like

Hey @RonShvartsman ,

Welcome to the community! Feel free to Introduce yourself :person_gesturing_ok: to the community if you want to! :grinning:

When working in Power BI, extracting relevant information from received data is similar across different data sources (Revit, Grasshopper, Rhino etc.). The key is to understand the structure of your data. We have created some tutorials that demonstrate how to extract parameters from data received from Revit. The method shown in the tutorial, with the exception of the Speckle.Revit.Parameters.ToNameValueRecord() method, can be applied to all of our connectors.

If you are still struggling despite trying the methods shown in the tutorial, please share the Speckle Model URL and we will do our best to assist you.

Hi Bilal! Looks like I wrote that message too quickly before posting and left some of the default messaging in there. I’ll be sure to introduce myself to the speckle community, thanks.

I took your advice and examined the data a bit deeper. I realized I needed filter the “speckle_type” column by “Base” and then add custom columns to extract those records specifically (those records contained the attributes I was sending).

I also needed to adjust my naming conventions a bit to comply with powerbi, so that I was able to utilize correct syntax when adding a custom column. Specifically, I had to make sure the inputs on my “create speckle object” components were set to something that worked with powerbi’s naming conventions.

Can you provide me some insight as to why I may want to create speckle objects on this instance or not? I can see the data structure outputs differently to powerbi and I am wondering if you have any insight to add to this based on your experience.

Thanks for the quick reply. I will continue testing and let you know if I have some additional questions.

Hi @RonShvartsman,

This depends on your specific needs. The Base object is very flexible and can be nested to create any data structure. Often, users extend geometry with metadata through it (or by using nodes like “Extend Speckle Object”). However, if you only need simple data structures, such as flat lists of texts, numbers or geometry, you can directly send that without using the Create Speckle Object. You can then filter the data in Power BI as needed.

HI @gokermu,

I was able to use the “extend speckle object” component to add attributes to the default speck object. See below attributes I added called, bendType, bundle, guid:

When I set the data source in power bi to the URL of the commit, I can see those attributes pull through in the record of the object:


But when I set the data source as the branch, those attributes are no longer visible:


Is this a limitation of the current alpha release? I have not fully tested but I would think this would break down the workflow from Rhino/GH to power BI a bit. I am trying to update things in the model, resend the data to speckle, and refresh the data in power bi. If I can only use the URL of the commit, I would break that flow if the next version is a different commit, correct? Thoughts on this?

My current workflow coming out of GH:

This is interesting. Can you share the Speckle Model URL please?

Link sharing should be on. Let me know if you cannot access it:

Hi @gokermu,

I created a new power bi file and new connection to the branch just now (same one as before) and the data pulled through.

What was odd was that power bi said the data may be “2 days old” and need to be refreshed.

Not sure why it did not show up the first time but I will continue to monitor/test and let you know if I see a pattern.

Thanks for all your support so far.


It’s great to hear you were able to solve the issue as I wasn’t able to reproduce it. Do let us know if you encounter any other problems or have any suggestions to improve the connector.