Power BI Connector 1.0.0.1

The Power BI Connector lets you refresh datasets and dataflows in Power BI from RunMyJobs.

Prerequisites

Contents of the Component

The Power BI Connector consists of the following objects:

Object Type Name
Application GLOBAL.Redwood.REDWOOD.PowerBI
Constraint Definition REDWOOD.Redwood_PowerBIDataflowConstraint
Constraint Definition REDWOOD.Redwood_PowerBIDatasetConstraint
Constraint Definition REDWOOD.Redwood_PowerBIWorkspaceConstraint
Process Definition REDWOOD.Redwood_PowerBI_RefreshDataflow
Process Definition REDWOOD.Redwood_PowerBI_RefreshDataflowTemplate
Process Definition REDWOOD.Redwood_PowerBI_RefreshDataset
Process Definition REDWOOD.Redwood_PowerBI_RefreshDatasetTemplate
Process Definition REDWOOD.Redwood_PowerBI_EnhancedDatasetRefreshTemplate
Process Definition Type REDWOOD.Redwood_PowerBIConnector
Library REDWOOD.Redwood_PowerBIConnector

Configuration Options

To set the fetch transaction retry delay or the maximum number of fetch transaction retries for dataflows, you can update following registry entries.

Configuration Option Description Minimum Default
/configuration/jcs/apps/PowerBI/Dataflow/FetchTransactionRetryDelay Duration to wait between attempts to fetch the dataflow refresh transaction. This is only needed to fetch the transaction the first time after starting a new refresh. 0.03 seconds 0.25 seconds
/configuration/jcs/apps/PowerBI/Dataflow/FetchTransactionMaxRetries Maximum number of attempts to fetch the dataflow refresh transaction. This is only needed to fetch the transaction the first time after starting a new refresh. 1 retry 20 retries

In addition, you can customize timeouts by setting the Azure Connections Configuration Options.

Process Definitions

Redwood_PowerBI_RefreshDataflow

Lets you refresh a Power BI dataflow.

Parameters

Tab Name Description Documentation Data Type Direction Default Expression Values
Parameters connection Connection The Connection for Power BI. String In

 

 

Parameters workspace Workspace The Power BI Workspace that contains the dataflow to refresh. String In

 

 

Parameters dataflowID Data Flow The ID of the dataflow to refresh. String In

 

 

Parameters monitor Monitor to completion Determines whether the refresh should be monitored to completion. String In No Yes, No
Parameters transactionId Transaction ID

 

String Out

 

 

Redwood_PowerBI_RefreshDataflowTemplate

Template for refreshing a dataflow in Power BI.

Parameters

Tab Name Description Documentation Data Type Direction Default Expression Values
Parameters connection Connection The Connection for Power BI. String In

 

 

Parameters workspace Workspace The Power BI Workspace that contains the dataflow to refresh. String In

 

 

Parameters dataflowID Data Flow The ID of the dataflow to refresh. String In

 

 

Parameters monitor Monitor to completion Determines whether the refresh should be monitored to completion. String In No Yes ,No
Parameters transactionId Transaction ID

 

String Out

 

 

Redwood_PowerBI_RefreshDataset

Lets you refresh a Dataset in Power BI.

Parameters

Tab Name Description Documentation Data Type Direction Default Expression Values
Parameters connection Connection The Connection for Power BI. String In

 

 

Parameters workspace Workspace The Power BI Workspace that contains the dataset to refresh. String In

 

 

Parameters datasetId Data Set The ID of the dataset to refresh. String In

 

 

Redwood_PowerBI_RefreshDatasetTemplate

Template for refreshing a Power BI dataset.

Parameters

Tab Name Description Documentation Data Type Direction Default Expression Values
Parameters connection Connection The Connection for Power BI. String In

 

 

Parameters workspace Workspace The PowerBI Workspace that contains the dataset to refresh, String In

 

 

Parameters datasetId Data Set The ID of the dataset to refresh. String In

 

 

Redwood_PowerBI_EnhancedDatasetRefreshTemplate

Template for performing an enhanced refresh on a Power BI dataset.

If you do not provide any Parameters in the Source field of the Definition tab, Power BI considers the refresh to be standard (not enhanced), which means it cannot be tracked. Consequently, RunMyJobs adds a message to the Process's stdout.txt file indicating that the refresh request started successfully, but there is no tracking info so the Process will complete immediately.

If the enhanced refresh generates any messages (usually due to errors), RunMyJobs collects them after the refresh is complete and writes them to the messages.txt Process file.

Parameters

Tab Name Description Documentation Data Type Direction Default Expression Values
Parameters connection Connection The Connection for Power BI. String In

 

 

Parameters workspace Workspace The Power BI Workspace that contains the dataset to refresh. String In

 

 

Parameters datasetId Data Set The ID of the dataset to refresh. String In

 

 

Refresh Request Parameters type Type The type of processing to perform. Types align with the TMSL refresh command types. String In automatic full, clearValues, calculate, dataOnly, automatic, defragment
Refresh Request Parameters commitMode Commit Mode Determines whether to commit objects in batches or only when complete. String In transactional transactional, partialBatch
Refresh Request Parameters maxParallelism Maximum Parallelism Determines the maximum number of threads that can run the processing commands in parallel. Number In 10

 

Refresh Request Parameters retryCount Retry Count Number of times the operation will retry before failing. Temporary internal errors may trigger a retry of the refresh, even if this parameter is set to 0. Number In 0

 

Refresh Request Parameters applyRefreshPolicy Apply Refresh Policy If an incremental refresh policy is defined, this determines whether to apply the policy. String In true true, false
Parameters refreshId Refresh ID

 

String Out

 

 

Setup

To install the Power BI Connector and create a Connection to Azure AD:

  1. Locate the Power BI Connector component in the Catalog and install it.

  2. Create an Azure AD Connection.

Procedures

Refreshing a Power BI Dataflow

Note: This Process Definition will initiate a refresh in Power BI, but will not monitor it to completion unless you set Monitor to completion to Yes.

To refresh a Power BI dataflow:

  1. Right-click the Redwood_PowerBI_RefreshDataflow and choose Submit.

  2. In the Parameters tab, select values from the dropdown lists, starting from the top:

    • Choose an Azure AD Connection from the Connection dropdown list.

    • Choose the workspace that contains the dataflow from the Workspace dropdown list.

    • Choose the dataflow you want to refresh from the Data Flow dropdown list.

  3. Click Submit.

Refreshing a Power BI Dataflow with a Template

Note: This Process Definition will initiate a refresh in Power BI, but will not monitor it to completion unless you set Monitor to completion to Yes.

To create a customized Process Definition, optionally with default values, for refreshing a Power BI dataflow:

  1. Right-click the Redwood_PowerBI_RefreshDataflowTemplate Process Definition and choose New (from Template) from the context menu. The New Process Definition pop-up window displays.

  2. Choose a Partition.

  3. Enter a Name.

  4. Delete the default Application value (if any) and substitute your own Application name if desired.
  5. In the Parameters tab, enter any Default Expressions you want to use.

    • When specifying the Connection value, use the format EXTCONNECTION:<partition>.<connection name>.

  6. Save and then submit the new Process Definition.

Refreshing a Power BI Dataset

To perform a basic refresh of a Power BI dataset:

  1. Right-click the Redwood_PowerBI_RefreshDataset and choose Submit.

  2. In the Parameters tab, select values from the dropdown lists, starting from the top:

    • Choose an Azure AD Connection from the Connection dropdown list.

    • Choose the workspace that contains the dataset from the Workspace dropdown list.

    • Choose the dataset you want to refresh from the Data Set dropdown list.

  3. Click Submit.

Performing a Basic Refresh a Power BI Dataset with a Template

To create a customized Process Definition, optionally with default values, to perform a basic refresh of a Power BI dataset:

  1. Right-click the Redwood_PowerBI_RefreshDatasetTemplate Process Definition and choose New (from Template) from the context menu. The New Process Definition pop-up window displays.

  2. Choose a Partition.

  3. Enter a Name.

  4. Delete the default Application value (if any) and substitute your own Application name if desired.
  5. In the Parameters tab, enter any Default Expressions you want to use.

    • When specifying the Connection value, use the format EXTCONNECTION:<partition>.<connection name>.

  6. Save and then submit the new Process Definition.

Performing an Enhanced Refresh of a Power BI Dataset with a Template

To create a customized Process Definition, optionally with default values, to perform an enhanced refresh of a Power BI dataset:

  1. Right-click the Redwood_PowerBI_EnhancedDatasetRefreshTemplate Process Definition and choose New (from Template) from the context menu. The New Process Definition pop-up window displays.

  2. Choose a Partition.

  3. Enter a Name.

  4. Delete the default Application value (if any) and substitute your own Application name if desired.
  5. In the Parameters tab, enter any Default Expressions you want to use.

    • When specifying the Connection value, use the format EXTCONNECTION:<partition>.<connection name>.

  6. Save and then submit the new Process Definition.

Note: By default, the template includes only certain Parameters with default values. However, you can add your own Parameters in the Source field, and specify their default values in the Parameters tab. A list of available parameters can be found here: Microsoft-us/power-bi/connect-data/asynchronous-refresh#parameters

Note: Redwood recommends setting only the Parameters you want to send with the enhanced refresh request, rather than sending all Parameters with default values every time.