Printix Power BI Solution Template
The Printix Power BI solution Template is designed to give you insights into your Print usage and contains insights into users, workstation, printers, print queues and historic data.
This solution contains multiple key components;
- A Power BI solution Template.
- A Printix API PowerShell Wrapper.
- A PowerShell script that extracts data from the Printix API and stores it in an Azure blob storage container.
- A set of PowerPoint design templates and icons.
- A set of example data you can work with.
A demo of the Printix solution template can be viewed here.
Please note that after a commit to the public demo solution, it might take one hour before the change is visible.
- You must install the Power BI desktop application either from https://powerbi.microsoft.com, or directly from the Microsoft store.
- You must have a valid Printix Subscription.
- You must meet the prerequisites for using the Printix API.
- You must have a valid Azure Subscription.
- You must have provisioned a Storage account (general purpose V2 or V1) with a container (blob). If you’re unsure on how to do that, you can read About Azure storage accounts.
- You must have provisioned an Azure Automation account. If you’re unsure on how to do that, you can read the Create a Standalone Azure Automation Account. Please make sure that you update the modules of the new Automation account, as the account might not contain the latest modules! Failure to do so, will result in failures while running the runbook!
Step 1 - Create an Azure Automation runbook, credentials and set a schedule
This step is different for Direct customers and Partners. Follow to appropriate documentation found here;
Step 2 - Deploy the Power BI report and configure a scheduled update
To ensure everyone in your organization, or even guests, can view the report, you have to publish it to Power BI online.
Step 2.1 Upload the report
To upload the report to Power BI online, you first have to open the Printix.PBIX from the PowerBI directory in Power BI desktop.
From the ribbon menu, click Publish (to the right, under share).
Select the destination where you want to publish the report, and click select.
When the report is published , you can click on Open 'printix.PBIX' in Power BI to open the report in Power BI Online.
Step 2.2 Change the data source
Navigate to the Dataset settings and click on Parameters. Under the ServiceEndpoint parameter, enter the Service Endpoint of your Azure blob storage (Found under properties of your storage account), including the container name and click apply. Example; https://powerbipublicextract.blob.core.windows.net/public
Step 2.3 Set the source credentials
After changing the parameter, you need to update the source credentials. Click on Edit Credentials under Data source credentials. In the account key field, enter an Access keys (Found under the Access keys menu for the storage account.) for the storage account and click sign in.
Step 2.4 Set up a schedule
To refresh the data daily, you need to configure a scheduled refresh. Click on Scheduled refresh under the datasets settings. The refresh should run 15-30 minutes after the Automation runbook is scheduled to run, to ensure that the data is updated.
Example of a scheduled refresh;
Now do a manual refresh of your dataset, and you’re ready to view your data!
Editing the Power BI template
You can freely alter the Power BI templates as needed for your organization. If you create something awesome, we hope you will share it back with the community!
Changing the Power BI design
The Power BI design is created in PowerPoint and can easily be edited. You can find the design under the "PowerPoint" folder. The design is mostly built using Storyboards.
When you have altered the design in PowerPoint, and exported the slides as "PNGs", you can set them as background images in Power BI. This is done from the "Visualizations" view. Remember to set the "image fit" selector to "fit". The Images from PowerPoint is saved under the 'Images\PowerPoint' directory.
Altering date ranges in the time sliders
The time sliders are calculated from the earliest date in the "Dates" table. To ensure all data with dates can be filtered simultaneously, any table with time columns are related to the dates table.
By default, all pages in the report only shows data from the last 90 days (Report level filter). The time sliders will always reflect this.
If you for some reason want to change the start time of the "Dates" table, you can do that from the Power BI parameters, either in Power BI desktop or in Power BI online.
Editing the PowerShell Code
Changing the timestamp of the logs
If you want to use another timestamp for logging, you can change the "$Global:TimestampFormat" parameter in the "Get-PrintixDataExtract.ps1" file according to Standard DateTime formats.
If your having trouble running the code from an Azure automation account, please make sure that your Modules are up to date!
Exception: The remote server returned an error: (400) Bad Request
If the runbook fails with an 400 bad request, this is usually caused by one of two problems;
- Your PowerShell Modules are out of date. Read here for how you can update them.
- The run as account does not have the necessary permissions to get a storage account key.Read more here.
Exception: The remote server returned an error: (500) Internal server Error
If the runbook fails with an 500 bad request, this is usually caused by one of three problems;
- You specified an invalid Printix partnerID, ClientID or secret
- You specified an invalid printix tenant
- You passed on an invalid timespan