All Collections
Integrations
VIM for Power BI
Installing VIM for Microsoft Power BI
Installing VIM for Microsoft Power BI

Here's a handy way to get large BIM data into Microsoft Power BI with the VIM for WebGL application

VIM avatar
Written by VIM
Updated over a week ago
  • We built an open-source WebGL application that loads and runs VIMs fast.

  • We also built a way to ingest VIMs into high-speed SQL databases.

These exercises let us test Autodesk Revit content in VIM on low-power devices. It turns out, however, that they're really powerful when combined in a dash-boarding tool like Microsoft Power BI like this:

We're learning from customers that they can tie in other data sources, compare projects, and finally access a massive load of BIM properties they weren't able to before.

So let's get a VIM into a SQL database (local or on Azure), load it into Power BI, and connect it with the ultra-fast VIM WebGL Power BI Custom Visual!


Prerequisites

Here's a list of things you'll need to wrap up this project. If you're missing anything, don't sweat! We're here to help. Please send us an email at sales@vimaec.com or chat with us via our website: www.vimaec.com

  1. You're a local admin on your computer (to install VIM software)

  2. You've got a VIM file. (learn how to)

  3. You've got the Windows 10+ vimtool.exe program and a license file (more info here).

  4. You've got Power BI Desktop


Inserting the VIM into a SQL database

Note: If you know what you're doing regarding making SQL databases feel free to skip to the vimtool.exe step.

Let's make a database! First, you'll need to decide, Local or Cloud? I do both for testing, but when I want to share my Power BI dashboards with people and my projects are large enough to use Power BI's Direct Query feature - I go Cloud.

Create a Database Locally with SQLEXPRESS

    1. When asked, "Select an installation type," select "Basic," and follow the installation.

  1. Make an SQLEXPRESS database on your hard drive.

    1. Open a console or a terminal (cmd.exe or Windows PowerShell, etc.)

      Windows Key + X (select Windows PowerShell)
    2. Execute this command to connect to the database:

      sqlcmd -S localhost\SQLEXPRESS -E
    3. To create a database (in this case called "vimtest"), execute these commands in sqlcmd:

      CREATE  DATABASE   vimtest
      GO
    4. If the database already exists, you'll need to delete it by running these commands while in sqlcmd:

      DROP  DATABASE  vimtest
      GO
      CREATE DATABASE vimtest GO

Create a Database in the Cloud with Microsoft Azure

  1. Make a resource group

  2. Create a SQL server and set it up for our use

  3. Choose database server

  4. Set the server resource group to the one we made, give it a name, and pick the authentication method. I'm using default SQL authentication.

  5. Create a database in that SQL server. Then, shop around to find the right-sized database for your needs. I use Azure's default option.

Let's Populate that Database using VIMtool.exe

Note: This Windows command-line tool has handy SQL-init and SQL-insert verbs for inserting the VIM into your SQL database. Bonus, it makes the schema for you!

Here's a real-world example of the command line arguments for a SQL database on Azure:

First, Initialize:

vim.vimtool.exe sql-init -l "C:\Users\JoelPennington\VIMaec LLC\Data Service - Documents\Test Files\__VIM Test Files\VIM City\VIMCity_like_a_campus.v1.2.25.O.S.vim.log" -c "Server=tcp:notarealservername.database.windows.net,1433;Initial Catalog=testdb;Persist Security Info=False;User ID=notarealid;Password=notarealpassword;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"

Second, Insert:

vim.vimtool.exe sql-insert -i "C:\Users\JoelPennington\VIMaec LLC\Data Service - Documents\Test Files\__VIM Test Files\VIM City\VIMCity_like_a_campus.v1.2.25.O.S.vim" -l "C:\Users\JoelPennington\VIMaec LLC\Data Service - Documents\Test Files\__VIM Test Files\VIM City\VIMCity_like_a_campus.v1.2.25.O.S.vim.log" -c "Server=tcp:notarealservername.database.windows.net,1433;Initial Catalog=testdb;Persist Security Info=False;User ID=notarealid;Password=notarealpassword;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"


Getting the VIM ready for WebGL

Note: Your VIM is now in SQL! Let's prepare it to serve WebGL with a public URL.


Upload your vim to cloud.vimaec.com and grab the public link. It will look like this:
โ€‹https://cloud.vimaec.com/public/webgl?id=13f2c918-c886-442e-45be-08db887f5fa1

Or, follow these steps to upload a VIM onto the Cloud with Microsoft Azure:

Bringing it all together in Microsoft Power BI

We've got the VIM in SQL, and the original VIM accessible via a public URL, great. Let's see it in Power BI.

An Easy way to start is just make a report from the a VIM uploaded on cloud.vimaec.com and download it as a native Power BI file/ This treats it as a handy starting point, because we can fire up Power BI, open the downloaded report and just change the data source

  1. Open up Power BI and load that handy VIM report you just downloaded (.pbix)

  2. Navigate to "Transform data," then "Edit parameters."

  3. Enter your server (Local or Cloud), database name, and URL for VIM (for WebGL viewing)

All done! Check out the various tabs in the PBIX file to get a feel for unconstrained BIM.


Go Deeper

Test the bidirectional capability of VIM by selecting a category from the slicer; the viewer will update. For example, I chose ducts in the slicer.

Add a table to get more BIM properties per object instance. Since the ducts are visible, there are a lot of duct properties.

  • Grab the Descriptor_Name field from the Parameters - Family Instances table

  • Grab the Parameter_Value field from the Parameters - Family Instances table

Publish to the web to share with colleagues

Ready to get started? Contact sales@vimaec.com to get started!

Did this answer your question?