See example of powerBI dashboard, functions and quick video:
Note: By default every file / image is protected by an access token that is generated on demand. The expiration delay for these tokens are set to 8 hours, and tokens are reused util there is 1 hour validity left. If the API is queried within the last hour of validity, then a new token is generated, again valid for 8 hours.
This mechanism may cause issues in Power BI if the dataset is refreshed just before the last hour. In such case, the API would return the existing token (that will expire within the next hour), so the URL might not be reliable until the next refresh. We added a way of forcing the regeneration of tokens, and controlling the lifetime of the generated tokens. To take advantage of this, headers should be added to the requests:
x-externalLinksTokenPolicy-createNewTokens = true
Use this header to force new token generation, having the default life span defined in BIM Track (8 hour)
x-externalLinksTokenPolicy-expirationDelay = 480
Use this header to control the lifetime, in minutes, of the generated tokens
Example in PostMan:
How to query BIM Track API
In order to query data from the BIM Track API you can either:
Build a new web query from the documentation
Note that creating a simple query of issues for a project with more than 100 issues will only return the latest 100 issues unless you are building a pagination function
Use one of the functions in this file to query data.
By using these functions, you will be able to fetch all the data as they are built to do pagination.
- In the power query editor, select one of the functions
- Fill in the requested fields and invoke the function
- You now have the data requested and need to expand and process it in Power BI
DEMO PROJECT data is displayed and expanded as is. To get relevant data out of queries you should understand some of the principles behind the data structure to make sure you are getting results right:
- When you expand, a list you might have several lines for the same issue id for example. That makes sense once you understand that for example, an issue can have several screenshots image, and therefore several imageUrl, Depending on the data you will want to analyze, you will want to set the filtering to "unique data"
- [Modeling][Manage relationships] or the relationship tab on the left panel allows you to set relations between queries. From one query containing the issue id, you will be able to link thet issue id to the one of another query and be able to correctly use the data of both queries in one vizualization
- In order to see the image of a project you should set the data of the column to the ImageURL category in the [MODELING][PROPERTIES][DATA CATEGORY] tab.
DEMO PROJECT data is irrelevant, it is here only as a demonstration of resulting functions queries and the access token may be revoked at anytime. You should understand that the access token is private and allows not only to read data from BIMTrack's hub database but also allows you to write data, therefore it should not be shared outside of your organization without notice.