Use Case - Adding Custom Data to Luware Power BI Reports

Catch and send caller input Azure Table storage, connect the Power BI report to the table, add the data to the report, and extend the Luware Power BI Report with the data from the Azure Table storage.

In this Use Case we cover the following scenario:

  • The Nimbus service workflow asks the caller for an input, we'll trigger on a Parameter Update to catch the customer input and send it to a storage table in Azure.
  • In a second step we'll connect the Power BI report to the table and add the data to the report. For this we will be creating a Azure Table storage table in your tenant and add data to it during a Power Automate flow.
  • Lastly we extend the Luware Power BI Report with the data from the Azure Table storage.

PRECONDITIONS

You require service owner rights to access the Power BI OData Feed Interface.

  • The Nimbus Power Automate Connector is installed and preconditions are met.
  • A service is set up and generating productive data.
  • A storage account in Azure has been created.
  • We have downloaded and opened the Luware Nimbus reporting file (Nimbus.pbit) in Power BI.
 

INC Icon Legend Accordion

Show Icon Legend

💡 = A hint to signal learnings, improvements or useful information in context. 🔍 = Info points out essential notes or related page in context.
☝ = Notifies you about fallacies and tricky parts that help avoid problems. 🤔 = Asks and answers common questions and troubleshooting points.
❌ = Warns you of actions with irreversible / data-destructive consequence. ✅ = Intructs you to perform a certain (prerequired) action to complete a related step.
 
 

Prepare Nimbus

  1. Create a new Parameter with ID= "PIN"
    ☝ Leave the default value blank. 
  2. Create a workflow with a "Collect Information" @workflow activites followed by a "Check Parameter" activity. 
  3. The Collect Information activity asks for the caller input and stores the value into the Nimbus context parameter "PIN". 
    Set the following within the Collect Information activity:  
    1. Prompt text = Welcome. Please enter your PIN.
    2. Parameter to Save = PIN
    3. Max digits = 4
  4. Set the fields of the Check Parameter activity to:
    1. Parameter Type = Custom
    2. Custom Type = "Custom Context Parameter*
    3. Name = “PIN”
  5. Route the output nodes according to your needs.

Create a storage table in Azure

✅ Create a new storage table* in Azure and add a property to it:

  • CustomerInput - String

*🔎 For more detailed instructions on how to add a storage account and table read Use Case - Connecting to Azure Table Storage Inside a Flow.

 

Create the flow

 Flow overview

 

 
 
  1. Visit the Flow landing page: https://make.powerautomate.com/
  2. Go to "My Flows".
  3. Click "+ New Flow" and create a blank "Automated Cloud Flow".
  4. Give your new flow a speaking name, e.g., "Save Customer PINs".
  5. In the text box underneath, search for “Nimbus” and choose the “When a task changes state” trigger.
  6. Click the Create button.
  7. Select the “When a task changes state” trigger.
  8. In the “Services Item” dropdown select the Nimbus service's UPN.
    💡 You can also get the data of multiple services at this point, but for the sake of simplicity we keep it to one service in this example.
  9.  In the “Task Events” dropdown select “Parameter Updated”.
  10. In the “Advanced parameters” dropdown enable “Modalities” and "Directions".
  11. In the “Modalities Item” dropdown select “Audio”.
  12. In the “Directions Item” dropdown select “Inbound”.
  13. Navigate to the “Settings” page of the trigger and add the following expression as a “Trigger condition” to trigger the flow only in case the “PIN” parameter is updated:

@equals(triggerBody()?['UpdatedParameterName'],'PIN')

  1. In the editing area click to add a new action.
  1. Search for "Azure table storage get entity" and select “Insert Entity (V2)” under the “Azure Table Storage” section.
  2. Configure the action as follows:
Field Value to fill in / 🌟 = Nimbus dynamic content 
Storage account name or table endpoint Select an existing connection setting from the dropdown list
Table Select IVRChoices from the dropdown list
Entity
JSON
{
 "PartitionKey": "byTaskId",
 "RowKey": @{triggerOutputs()?['body/TaskId']},
 "CustomerInput": @{triggerOutputs()?['Body/UpdatedParameterValue']}
}

💡 In case no connection exists yet for the Azure Table Storage, Power Automate will ask you first to connect. 

🔎 To get more information about the options, please have a look at the official Azure Table Storage - Connectors article. 

 

Adapt the Power BI Report

  1. Open the Luware Power BI report, go to "Get Data" and select "Azure Table storage". 
  2. After successful connection you can go to the model view and you'll see the table here:
     
  1. Select "..." > "Edit query" on the new table so that you can format the table columns. 
  2. Select the content row and expand the hidden columns
    1. Make additional changes to data format or column title if needed.
  3. The table should now look like this and is ready for use. 

Table of Contents