Power BI Extract
  • 27 Sep 2023
  • 4 Minutes to read
  • Dark
    Light
  • PDF

Power BI Extract

  • Dark
    Light
  • PDF

Article Summary

SysAid’s Power BI Extract integration allows you to regularly export your SysAid SR data to your storage method of choice; 

Method 1: Display your SR data as a JSON file and store it in your OneDrive, where Microsoft Power BI will read it and build the reports  

Method 2: Use our SysAid Storage API that allows you to securely access the URL with your saved JSON file

Power BI Extract video


Licensing

You can contact your account manager to purchase a license or a 30-day trial license for this Add-on.

Set up the Power BI Extract Add-on

Steps

  1. From the SysAid Marketplace, get the Power BI Extract Add-on.
  2. On the main My Apps page, in the Power BI Extract icon, click IntegrationsfilesGreenCog14.jpg.
  3. Register the application in Azure
    1. In the Azure dashboard, click App Registrations.
    2. Click View All Applications.
    3. Click New Registration.
      IntegrationOffice365NewRegistrationNewRegistration3.jpg
    4. In the Name field, enter a name for the application (for example "SysAid BI").
    5. Click Register.
      IntegrationOffice365RegisterApplication2.jpg
  4. Get the Tenant ID
    1. Hover over the Directory (tenant) ID field and click biExtractSettingsfilesCopyButton3.png.
    2. Back in SysAid, paste the copied text into the Tenant Name field.
  5. Get the Client ID
    1. Hover over the Application (Client) ID field and click biExtractSettingsfilesCopyButton4.png.
    2. Back in SysAid, paste the copied text into the Client ID field.
  6. Get the Secret Key
    1. From the Left-menu, click Certificates & Secrets.
    2. Click New client secret.
    3. Add a description (e.g. "SysAid Power BI Extract").
    4. In the Expires area, select Never.
    5. Click Add.
    6. In the entry you just created, click biExtractSettingsfilesCopyButton5.png.
    7. Back in SysAid, paste the copied text into the Secret Key field.
  7. In the Email address field, enter the email address for the administrator's MS OneDrive account.
  8. Enter the name you want for the JSON file that will be created with the BI data from SysAid. Make sure the file name includes the extension .json (for example, "SysAidData.json").
  9. Configure API Permissions
    1. In Azure, navigate to select API Permissions.
    2. Click Add a permission.
    3. Click Select an API > Microsoft Graph.
    4. Click Application.
    5. Select the following permissions
      • Application.ReadWrite.All
      • Files.ReadWrite.All
    6. Select the respective type for each permission.
    7. Enable the following permissions:
      biExtractSettingsfilesNewPermissions.png
  10. Click Save Changes.
  11. Click the slider to activate the Add-on.
  12. Click Test Connection to ensure that everything has been configured correctly. The results appear at the top of the screen.
  13. (Optional) You can click azureSettingsfilesManual.png to manually import BI Data to the JSON file.

    * The Last Updated field indicates when the file was last updated.
    biExtractSettingsfilesBIExtractSetup.jpg

Import SysAid Storage data to Power BI

Steps

1. Create a Blank query in Power BI

2. Open the Query's Advanced Editor

3. Paste the Query script inside the Editor

You can copy and paste the following script (using the URL and Header you received from Power BI Add-on)

let

Source = Table.FromColumns({Lines.FromBinary(Web.Contents("Paste the URL from POWER BI Extract addon", [Headers=[clientid="Clientid from POWER BI Extract addon", accountid="Your SysAid account id", authorization="The Token from Power BI Extract addon"]]))}),

#"Parsed JSON" = Table.TransformColumns(Source,{},Json.Document),

#"JSON to List" = #"Parsed JSON"{0}[Column1],

#"List To SysAid Table List" = Table.FromRecords({#"JSON to List"}),

#"Expanded SysAid" = Table.ExpandListColumn(#"List To SysAid Table List", "SysAid"),

#"Extract Headers" = Record.FieldNames(#"Expanded SysAid"[SysAid]{0}),

#"Merge Data To Table" = Table.ExpandRecordColumn(#"Expanded SysAid", "SysAid", #"Extract Headers")

in

#"Merge Data To Table"

4. Select all cells and click on "Detect Data Type"

5. Close the Editor and apply your changes

Note
The template is integrated with the field structure for SysAid tickets. It's important that you modify the data source to match the file location where you store this file. You can search for the file in OneDrive and use it to display the data in Power BI or other BI tools that you connect to OneDrive.

Click here to download a ready-to-go Power BI Template file that you can use to generate dashboards with your SysAid data.

If you encounter any issues with loading this template, ensure that "Application language" in your Power BI Regional Settings is set to English (United States). For any other issues importing your data into Power BI, we recommend referring to the Power BI community.

Map additional SysAid fields to Power BI

The BI Analytics Settings section allows you to map additional fields to be included in your Power BI data extract.

When you map a field to one of the Target BI Fields, that field can be accessed by Power BI Extract. By default, only the List fields are available (as "cust_list 1" and "cust_list 2) in Power BI Extract. To access additional fields, contact your account manager.

Changes made here take affect on new data collected by Power BI Extract from the time you make the changes and onward. 

To apply new field-mapping on historical data, please contact SysAid Support.

Steps

  1. Locate the field in the Source Field column in the dropdown list corresponding to its field type.
  2. Select the field from the list.
  3. Click Save Changes.
    biExtractSettingsfilesBIAS.png

Export data to SysAid Cloud

The SysAid Storage functionality allows you to export your data to SysAid Cloud and obtain secured access for it. 

This is done by adding three headers to the URL and, one of which is a token that is valid for three months.

Import data from a webpage

You can choose the option in Power BI to import data from a webpage, using the parameters highlighted below; 

Note
You can define a reminder notification about updating the Token.

These can be edited or added in Settings > Monitoring > Notifications

Enable Power BI Add-on with SysAid Storage

Step 1: Click "Select where to save BI data" and choose "SysAid Storage"

Step 2: Click "Save Changes"

Step 3: Enable the "Activate integration" Slider

Step 4: Click "Generate new token"

Step 5: Take note of the Token field's value (it becomes hashed after you exit the form)

Step 6: Replace the following values in the script via copy & paste:

  • URL from POWER BI Extract addon

  • Clientid from POWER BI Extract addon

  • accountid
  • The Token from Power BI Extract addon

let


Source = Table.FromColumns({Lines.FromBinary(Web.Contents("Paste the URL from POWER BI Extract addon", [Headers=[clientid="Clientid from POWER BI Extract addon", accountid="Your SysAid account id", authorization="The Token from Power BI Extract addon"]]))}),


#"Parsed JSON" = Table.TransformColumns(Source,{},Json.Document),


#"JSON to List" = #"Parsed JSON"{0}[Column1],


#"List To SysAid Table List" = Table.FromRecords({#"JSON to List"}),


#"Expanded SysAid" = Table.ExpandListColumn(#"List To SysAid Table List", "SysAid"),


#"Extract Headers" = Record.FieldNames(#"Expanded SysAid"[SysAid]{0}),


#"Merge Data To Table" = Table.ExpandRecordColumn(#"Expanded SysAid", "SysAid", #"Extract Headers")


in


#"Merge Data To Table"


Was this article helpful?