BETA: Power BI Connector
On this page
Introduction
The SolarWinds Service Desk (SWSD) Power BI Connector lets you import incident records from SWSD to Microsoft Power BI. You can import records from the past two years. You will have raw data on the topics most relevant to your organization, which you can then analyze and review by viewing it in a variety of formats, such as tables, graphs, and charts.
SolarWinds owns the connector and is a member of the Microsoft Power Query Connector Certification Program. If you have questions regarding the content of this article or want to request a change to it, provide feedback at the bottom of the page.
Connect to SolarWinds Service Desk
-
In Power BI Desktop, from Home select Get Data. From the categories on the left, select Other, and then select SolarWinds Service Desk.
Note for previous users:
If you are a previous user of the SWSD Power BI Connector, after clicking Other you may see multiple SolarWinds options. Be sure to select the one named SolarWinds Service Desk with a capital W in SolarWinds.
DO NOT select Solarwinds Service Desk (with a lower case W) or SWSD_Connector. -
After making the selection, click Connect.
-
Sign in with the JSON Web Token you generated as described in the Prerequisites, and then click Connect to verify your access to SWSD.
-
In the Navigator dialog box, select the table you want to import. You can then either load or transform the data.
-
After completion of the steps above, Confirm that you see:
Model name: Incidents
Data Source name: SolarWinds Service Desk
Additional steps for previous users
-
Go to the model that was created when you used the old file system connector, and then right-click Edit query. A Power Query Editor opens.
-
On the right, under Applied Steps, click Source.
-
In the function section, in the middle of the editor look for the following line: SolarwindsServiceDesk.Contents() or SWSD_connector.Contents()
-
Change it to SolarWindsServiceDesk.Contents so it looks like this:
-
Click Close & Apply.
Publishing reports
All customers publishing to the Power BI Service (Cloud) need to perform the steps below. This applies to both first-time publishers and those who have published in the past.
-
Publish the report to Power BI Service Workspace, based on the out-of-the-box connector.
-
Go to this report dataset setting in the Power BI Service:
-
Open the Datasource credentials section and edit the credentials with the key and token you used when you establish connection with the connector in desktop Power BI.
Your reports in Desktop and Cloud are now connected to and using the new version of SolarWinds Service Desk Connector.
You can remove the old data source and old connector from your file system.
Limitations and issues
Users should be aware of the following limitations and issues associated with accessing SolarWinds Service Desk:
-
You can import only once per day; that is, once every 24 hours. If you attempt to refresh prior to the allowed 24-hour cycle, you will receive an error message.
-
There is no limit on the number of users who can pull data, but each user can refresh only once every 24 hours.
-
Only incident data is imported, providing historical details from January 1, 2020 to date. The incident fields that are imported are limited. If you need to import a field that is not available, you can request that it be added. If you have any questions about what can be imported or issues with the PowerBI integration, please email Rinat.Gil@solarwinds.com.
Credential error in the Navigator
If a credential error occurs in the Navigator, clear your recent data source settings.
-
In Power BI Desktop, select File > Data source settings.
-
Select the SWSD data source, and then select Clear permissions.
-
Establish the connection to the Navigator again.
Fields under incidents in Power BI Connector
Field name | UI field name | Type/size | Description | Format |
---|---|---|---|---|
Id | API Only | Integer | Incident's unique ID in the system | int |
number | Number | Integer | Incident's unique number in the system | int |
name | Title | String | The name of the incident | string |
description_no_html | Description | String | The description of the incident | string or null |
state | State | String | The state of the incident | string |
priority | Priority | String | The priority of the incident. The default is High/Medium/Critical, Low, and None | string |
category_name | Category | String | The category the incident is related to | string |
subcategory_name | Subcategory | String | The subcategory the incident is related to | string |
assignee_name | Assigned To | String | The name of the assignee for the incident | string |
assignee_email | Assigned To | String | The email of the assignee for the incident | string <email> |
requester_name | Requester | String | The name of the requester for the incident | string |
requester_email | Requester | String | The email of the requester for the incident | string <email> |
created_by_name | Requester | String | The name of the creator of the incident | string |
created_by_email | Requester | String | The email of the creator of the incident | string <email> |
created_at | Created At | Date time | The date and time the incident was created | date time |
updated_at | Updated At | Date time | The date and time the incident was last updated | date time |
resolved_by_name | Resolution | String | The name of the person who resolved the incident | string |
resolved_by_email | Resolution | String | The email of the person who resolved the incident | string <email> |
resolved_at | Resolution | Date time | The date and time the incident was resolved | date time |
is_service_request | Icon in the title of the incident | Boolean | Identifies whether or not the incident was created from a service request | boolean |
currency | Currency | String | Currency of the service request | string |
resolution_code | Resolution | String | Resolution type provided when the incident is resolved | string |
resolution_description |
Description Resolve |
String | Description provided when an incident is resolved | string |
origin | Incident origin | String | Where the incident was created from: Web/Email/Portal/API etc | string |
cc | CC | String | Identifies whether a person is included in the CC in each action on an incident | strings array |
custom_fields_values |
Name Value Type |
Array of Objects String String String |
Custom fields related to the incident |
array of objects |
due_at | Due at | Date time | Due date and time for the incident | date time |
site_name | Site | String | The site name | string |
department_name | Department | String | The department name | string |
price | Price | Integer | The price in the service request | int |
sla_violations |
sla_name sla_type assignee_name resolved |
String String String Boolean |
Statistics that represent SLA (service-level agreement) rules that failed for the incident. | array of objects |
tags [] of objects, with the following data: name |
Tags | String | List of tags related to the incident | array of strings |
to_assignment |
Service statistics To Assignment |
String | Time passed until the incident was assigned to |
string
For example: "00:04:14" |
to_first_response_business_time |
Service statistics To First Response (Business) |
String | Time passed until the incident has it first response |
string
<hours>:<minutes>:<seconds> or hh:mm:ss For example: "00:04:13" |
to_resolve_business_time |
Service statistics To Resolution (Business) |
String | Time passed until the incident was resolved |
string
<hours>:<minutes>:<seconds> or hh:mm:ss For example: "11:22:00" |