- The Power BI connector lets you easily load your model from Speckle into Power BI in a tabular format.
- The 3D Viewer Visual allows you to view and color your models in 3d.
Setup
Install the connector
Open the Power BI connector
- Select Get Data. 2. In the search box, enter Speckle. 3. Select Connect to Speckle and click Connect.
Why don't I see Speckle as a data source in Power BI?
Why don't I see Speckle as a data source in Power BI?
How can I install Power BI connector without changing security settings?
How can I install Power BI connector without changing security settings?
CDC489B709A709E3283568A9B75D75180B1355BE
For detailed instructions, see Microsoft’s Docs.Loading a Model
Load from Speckle
- Copy Model URL from the web app.
- Paste it in the text field and select OK.
Import 3D Visual
- In the Visualizations pane, select the three dots (…), then select Import a visual from a file.
- Browse to
Documents/Power BI Desktop/Custom Visuals
. - Select
Speckle 3D Visual.pbiviz
and Open.
Visualize a model
- In the Visualizations pane, select Speckle 3D Visual
- Configure the visual:
- Drag Version Object ID column into the Version Object ID input -> required for viewing
- Drag Object IDs column into the Object IDs input -> required for interactivity
- Drag any column into Tooltip input -> for tooltip
- Drag any column into Color by input -> for coloring model
- Wait for your model to load in the viewer
Where do I find the 3D visual?
Where do I find the 3D visual?
How do I update the 3D visual to a new version?
How do I update the 3D visual to a new version?
- From the Visualizations pane, select the More options (…) menu.
- Go to Documents/Power BI Desktop/Custom Visuals.
- Select the new version of Speckle’s 3D visual.
- Select Open.
- When prompted with the update warning, select Update.
- In your report, select instances of Speckle’s 3D visual.
- From the Visualizations pane, select Table visual to replace the 3D visual temporarily.
- Select Speckle’s 3D visual from the Visualizations pane again to apply the new version.
How do I control the visibility of unselected elements in the 3D visual?
How do I control the visibility of unselected elements in the 3D visual?
How do I hide the Speckle logo from the 3D visual?
How do I hide the Speckle logo from the 3D visual?
How do I sign in to my Speckle account in Power BI?
How do I sign in to my Speckle account in Power BI?
- Select Get Data from the Home ribbon.
- Find Speckle under data sources.
- Paste your model URL in the text box.
- If not already signed in, an authentication dialog will appear.
- Click Sign in and sign in to your Speckle account from the browser window that opened.
- Power BI will store your credentials. So you won’t have to log in again next time you load a model.
Why do I get an 'Access to the resource is forbidden' error?
Why do I get an 'Access to the resource is forbidden' error?
- Go to File > Options and settings > Options > Security
- Under Authentication Browser, clear Use my default web browser
How can I switch to a different account in Power BI?
How can I switch to a different account in Power BI?
- Close Power BI Desktop completely.
- Where do I find my Power BI installation folder?
- Desktop version (.exe): Navigate to %LocalAppData%\Microsoft\Power BI Desktop (typically C:\Users[your-username]\AppData\Local\Microsoft\Power BI Desktop)
- Microsoft Store version: Navigate to C:\Users[your-username]\Microsoft\Power BI Desktop Store App
- Delete following items:
- CEF folder
- WebView2 folder
- Cache folder
- User.zip file
- Restart Power BI Desktop.
Why do I get a 'Cannot connect to Desktop Service' error?
Why do I get a 'Cannot connect to Desktop Service' error?
- Desktop service isn’t running – See How do I check if Desktop service is running? to verify and restart the service.
- Token cache expired – Follow these steps to clear your cache:
- Go to File > Options and settings > Data source settings
- Select https://app.speckle.systems/ or your server URL
- Select Clear Permissions
- Go to %APPDATA%/Speckle/Projects
- Delete PowerBITokenCache.db files
- Restart Power BI and try again
How do I check if Desktop service is running?
How do I check if Desktop service is running?
- Open Task Manager.
- Look for Speckle.Desktop.Services.
- If the process appears in the list, it’s running.
- If the process doesn’t appear:
- Select Run new task.
- Enter this path: %APPDATA%\Speckle\Desktop Services\Speckle.Desktop.Services.exe
- Select OK.
Why do I get an 'Unable to connect remote server' error?
Why do I get an 'Unable to connect remote server' error?
Why doesn't my report update after a new version is published?
Why doesn't my report update after a new version is published?
- Refresh preview Make sure you clicked Refresh in the Power BI ribbon to load the latest version.
- Check if you loaded a specific version If your model URL contains an ”@” symbol, this means you loaded a specific version. Power BI connector will only load that specific version and not any new versions.
Where's the Model URL in the new Power BI connector?
Where's the Model URL in the new Power BI connector?
Why do I get a 'Permission denied' error?
Why do I get a 'Permission denied' error?
-
Verify that you have been granted access to the model.
- If not, contact the project owner and request the necessary permissions.
-
If you are already added but still see the error, try re-authenticating:
- In Power BI, go to Data source settings.
- Select Global permissions, then double-click on
app.speckle.systems
. - Click Edit, choose Speckle Account, and sign in again.
Can I load and visualize private projects with the Power BI connector?
Can I load and visualize private projects with the Power BI connector?
Why can I view a model in Speckle but can't load it in Power BI?
Why can I view a model in Speckle but can't load it in Power BI?
How do I visualize multiple models in Power BI?
How do I visualize multiple models in Power BI?
- First, federate your models in the web app.
- Copy the federated model URL
- Load federated model in Power BI.
Sharing Reports
You can share your Power BI reports with Speckle models in two ways:- Share the Power BI file directly: You can share the .pbix file with colleagues who will be able to open and view the report, including the 3D model visualization. However, they may encounter limitations when attempting to edit queries or refresh data, as these operations require access permissions and the Speckle Desktop service.
- Publish to Power BI Service: You can publish your report to Power BI web, making it accessible to others through the online platform where they can view the published report and interact with the 3D visual. If a data gateway has been configured, the Speckle connector and 3D visual support scheduled refresh, ensuring your reports reflect up-to-date data.
Data Gateway Setup
For production reports that need scheduled refresh, you’ll need to set up a data gateway. This allows your Power BI reports to automatically update with the latest Speckle data without manual intervention. Set up Data Gateway →Helper Functions
We’ve added a series of helper functions to theSpeckle
namespace to make working with Speckle data in Power BI more efficient and user-friendly.
Speckle.Objects.Properties
Quickly access properties of an object without navigating through the nested structure. inputRecord
.
Optionally, you can provide filterKeys
to extract only specific properties.
Usage:- Extracting all properties ->
Speckle.Objects.Properties([data])
- Extracting specific properties: ->
Speckle.Objects.Properties([data], {"Name", "Number", "Area"})
Speckle.Objects.CompositeStructure
Extract the composite structure of objects such as Walls, Floors, Roofs or any elements with layered structure.
Optionally, set
outputAsList
to true
to return it as a list —> useful for expanding each layer into its own row.
Usage:- Extracting composite structure ->
Speckle.Objects.CompositeStructure([data])
- Extracting composite structure as a list ->
Speckle.Objects.CompositeStructure([data], true)
Speckle.Objects.MaterialQuantities
Access material quantities of an object.
Optionally, set
outputAsList
to true
to return quantities as a list, which is helpful for row expansion.
Usage:- Extracting material quantities ->
Speckle.Objects.MaterialQuantities([data])
- Extracting material quantities as a list ->
Speckle.Objects.MaterialQuantities([data], true)
Speckle.Models.MaterialQuantities
Takes a table and extracts material quantities for all objects, expanding them into separate columns.
Optionally, set
addPrefix
to true
to create prefixed columns like “MQ.materialName”, “MQ.area”
Examples:- Basic usage:
Speckle.Models.MaterialQuantities(Source)
- Creates columns like “materialName”, “area” - With prefixing:
Speckle.Models.MaterialQuantities(Source, true)
- Creates “MQ.materialName”, “MQ.area”
Speckle.Models.Federate
Manually federate loaded models in Power BI for use in 3D visual.
Optionally, use
excludeData = true
to federate only the metadata necessary for 3D visual without pulling in all the data.
Usage:- Federating multiple models ->
Speckle.Models.Federate({Model1, Model2, Model3})
- Federating with metadata only ->
Speckle.Models.Federate({Model1, Model2, Model3}, true)
Speckle.Utils.ExpandRecord
This function expands a record column into separate columns for each field. It’s especially useful in combination with the Properties
helper.
FieldNames
to limit the expanded fields.Optionally, use
UseCombinedNames = true
to prefix column names with the record column name (e.g., Properties.Length
).
Usage:- Expand properties record column
Speckle.Utils.ExpandRecord(Source, "properties")
-> All properties will be expanded into separate columns - Expanding subset of fields
Speckle.Utils.ExpandRecord(Source, "properties", {"Length", "Width"})
-> Only Length and Width fields will have separate columns - Expanding record columns with combined names
Speckle.Utils.ExpandRecord(Source, "properties", {"Length", "Width"}, true)
-> Length and Width fields will have separate columns with the record column name as a prefix (e.g.,Properties.Length
,Properties.Width
)