Microsoft Fabric: A Revolutionary Analytics System Unveiled at Microsoft Build 2023

Today at Microsoft Build 2023, a new era in data analytics was ushered in with the announcement of Microsoft Fabric, a powerful unified platform designed to handle all analytics workloads in the cloud. The event marked a significant evolution in Microsoft’s analytics solutions, with Fabric promising a range of features that will undoubtedly transform the way enterprises approach data analytics.

Unifying Capacities: A Groundbreaking Approach

One of the standout features of Microsoft Fabric is the unified capacity model it brings to data analytics. Traditional analytics systems, which often combine products from multiple vendors, suffer from significant wastage due to the inability to utilize idle computing capacity across different systems. Fabric addresses this issue head-on by allowing customers to purchase a single pool of computing power that can fuel all Fabric workloads.

By significantly reducing costs and simplifying resource management, Fabric enables businesses to create solutions that leverage all workloads freely. This all-inclusive approach minimizes friction in the user experience, ensuring that any unused compute capacity in one workload can be utilized by any other, thereby maximizing efficiency and cost-effectiveness.

Early Adoption: Industry Leaders Share Their Experiences

Many industry leaders are already leveraging Microsoft Fabric to streamline their analytics workflows. Plumbing, HVAC, and waterworks supplies distributor Ferguson, for instance, hopes to reduce their delivery time and improve efficiency by using Fabric to consolidate their analytics stack into a unified solution.

Similarly, T-Mobile, a leading provider of wireless communications services in the United States, is looking to Fabric to take their platform and data-driven decision-making to the next level. The ability to query across the lakehouse and warehouse from a single engine, along with the improved speed of Spark compute, are among the Fabric features T-Mobile anticipates will significantly enhance their operations.

Professional services provider Aon also sees significant potential in Fabric, particularly in terms of simplifying their existing analytics stack. By reducing the time spent on building infrastructure, Aon expects to dedicate more resources to adding value to their business.

Integrating Existing Microsoft Solutions

Existing Microsoft analytics solutions such as Azure Synapse Analytics, Azure Data Factory, and Azure Data Explorer will continue to provide a robust, enterprise-grade platform as a service (PaaS) solution for data analytics. However, Fabric represents an evolution of these offerings into a simplified Software as a Service (SaaS) solution that can connect to existing PaaS offerings. Customers will be able to upgrade from their current products to Fabric at their own pace, ensuring a smooth transition to the new system.

Getting Started with Microsoft Fabric

Microsoft Fabric is currently in preview, but you can try out everything it has to offer by signing up for the free trial. No credit card information is required, and everyone who signs up gets a fixed Fabric trial capacity, which can be used for any feature or capability, from integrating data to creating machine learning models. Existing Power BI Premium customers can simply turn on Fabric through the Power BI admin portal. After July 1, 2023, Fabric will be enabled for all Power BI tenants.

There are several resources available for those interested in learning more about Microsoft Fabric, including the Microsoft Fabric website, in-depth Fabric experience announcement blogs, technical documentation, a free e-book on getting started with Fabric, and a guided tour. You can also join the Fabric community to post your questions, share your feedback, and learn from others.


The announcement of Microsoft Fabric at Microsoft Build 2023 marks a pivotal moment in data analytics. By unifying capacities, reducing costs, and simplifying the overall analytics process, Fabric is set to revolutionize the way businesses handle their analytics workloads. As more and more businesses embrace this innovative platform, it will be exciting to see the transformative impact of Microsoft Fabric unfold in the world of data analytics.

This blogpost was created with help from ChatGPT Pro and the new web browser plug-in.

Top 5 Power BI Integrations to Enhance Your Data Analysis


Power BI is a powerful business intelligence tool that allows you to visualize and analyze your data with ease. One of the major strengths of Power BI is its ability to integrate with other applications, enabling you to derive maximum value from your data. In this blog post, we will explore the top five integrations for Power BI, including Azure Synapse, that can help you enhance your data analysis and make more informed business decisions.

Azure Synapse Analytics

Azure Synapse Analytics is a cloud-based data warehouse service that offers seamless integration with Power BI. By connecting Power BI to Azure Synapse, you can build interactive reports and dashboards with real-time data, taking advantage of the scale and performance of Synapse for your analytics workloads. This integration also allows you to leverage advanced analytics and machine learning capabilities to derive insights from your data and make better decisions.

Microsoft Excel

As one of the most widely used spreadsheet applications, Microsoft Excel is a natural fit for Power BI integration. Power BI can connect to Excel workbooks, enabling you to import data from your spreadsheets, create data models, and visualize the data using Power BI’s interactive visuals. Furthermore, you can use Power BI’s Publish to Excel feature to export your data visualizations and insights to an Excel workbook, making it easier to collaborate and share your findings with others.

Microsoft Dynamics 365

Microsoft Dynamics 365 is a suite of business applications that covers various aspects of customer relationship management (CRM) and enterprise resource planning (ERP). Power BI’s integration with Dynamics 365 allows you to create custom dashboards and reports, providing insights into your sales, marketing, finance, and operations data. With the ability to access and analyze data from different Dynamics 365 modules, you can gain a holistic view of your business performance and make data-driven decisions.

Microsoft SharePoint

SharePoint is a popular platform for document management and collaboration, and Power BI’s integration with SharePoint enables you to display your Power BI reports and dashboards within SharePoint sites. This makes it easy for users to access, interact with, and share business insights across the organization. Additionally, you can use the Power BI web part for SharePoint to embed reports directly into SharePoint pages, providing users with an immersive and interactive data visualization experience.

SQL Server Analysis Services (SSAS)

SQL Server Analysis Services is a powerful data analysis and reporting platform that can be integrated with Power BI. By connecting Power BI to SSAS, you can leverage existing data models and reports, and create new visualizations using Power BI’s rich library of visuals. This integration enables you to perform advanced data analysis with features like drill-through, hierarchy navigation, and time intelligence, enhancing your overall business intelligence capabilities.


Power BI’s ability to integrate with a wide range of applications helps you maximize the value of your data and make better business decisions. By connecting Power BI to Azure Synapse Analytics, Microsoft Excel, Microsoft Dynamics 365, Microsoft SharePoint, and SQL Server Analysis Services, you can enhance your data analysis capabilities and gain valuable insights into your organization’s performance. Start exploring these integrations today to unlock the full potential of your data with Power BI.

This blogpost was created with help from ChatGPT Pro.

Leveraging OpenAI for Automated Data Storytelling in Power BI


Automated data storytelling is a powerful way to transform complex data visualizations into meaningful narratives. By leveraging OpenAI’s natural language generation capabilities, you can create engaging and informative stories based on your Power BI data visualizations. In this blog post, we’ll discuss the importance of automated data storytelling and guide you through the process of using OpenAI to generate narratives and summaries for your Power BI reports.

Note – Please be aware that this solution involves interacting with OpenAI’s API. I encourage users to familiarize themselves with OpenAI’s data usage policy ( and take necessary precautions to ensure the privacy and security of their data.

  1. The Importance of Automated Data Storytelling

Data visualizations in Power BI enable users to analyze and gain insights from their data. However, interpreting these visualizations can be challenging, especially for users without a background in data analysis. Automated data storytelling bridges this gap by:

  • Making data insights accessible: Narratives help users understand the context and significance of the data, making insights more accessible to a broader audience.
  • Enhancing decision-making: Clear and concise narratives can help users grasp the implications of the data, leading to better-informed decisions.
  • Saving time and resources: Generating data stories automatically reduces the time and effort required to create manual reports and analyses.
  1. Prerequisites and Setup

Before we begin, you’ll need the following:

  • Power BI data visualizations: Ensure that you have a Power BI report or dashboard with data visualizations that you’d like to generate narratives for.
  • OpenAI API key: Sign up for an OpenAI API key if you haven’t already. You’ll use this to access OpenAI’s natural language generation capabilities. Visit to sign up.
  • A development environment: You can use any programming language and environment that supports HTTP requests. For this tutorial, we’ll use Python and the requests library.
  1. Accessing Power BI Data

In order to generate narratives based on your Power BI data visualizations, you’ll first need to extract the data from the visualizations. You can do this using the Power BI API. Follow the instructions in the “Accessing Power BI Data” section of our previous blog post on creating a Power BI chatbot to set up the necessary API access and create a Python function to query the Power BI API:

  1. Generating Narratives with OpenAI

Once you have access to your Power BI data, you can use OpenAI’s API to generate narratives based on the data. Create a Python function to send data to the OpenAI API, as demonstrated in the “Building the Chatbot with OpenAI” section of our previous blog post:

  1. Crafting Data Stories

To create data stories, you’ll need to design prompts for the OpenAI API that effectively convey the context and purpose of the data visualizations. The prompts should include relevant data points, visualization types, and any specific insights you’d like the narrative to highlight. Here’s an example of a prompt for a sales report:

openai_prompt = f"""
Create a narrative based on the following sales data visualization:

- Data: {sales_data}
- Visualization type: Bar chart
- Time period: Last 12 months
- Key insights: Top 3 products, monthly growth rate, and seasonal trends

narrative = chat_with_openai(openai_prompt)

Remember to replace {sales_data} with the actual data you’ve extracted from your Power BI visualization.

  1. Integrating Narratives into Power BI Reports

With the generated narratives, you can enhance your Power BI reports by embedding the narratives as text boxes or tooltips. Although Power BI doesn’t currently support direct integration with OpenAI, you can use the following workaround:

  • Manually copy the generated narrative and paste it into a text box or tooltip within your Power BI report.

For a more automated approach, you can build a custom web application that combines both Power BI data visualizations and generated narratives. To achieve this, follow these steps:

  1. Embed Power BI visuals using Power BI Embedded: Power BI Embedded allows you to integrate Power BI visuals into custom web applications. Follow the official documentation to learn how to embed Power BI reports and dashboards in your web application:
  2. Create a web application with a user interface: Design a user interface for your web application that displays Power BI visuals alongside the generated narratives. You can use HTML, CSS, and JavaScript to create the user interface.
  3. Fetch narratives using JavaScript: When a user interacts with your Power BI visuals or requests a narrative, use JavaScript to send a request to your OpenAI-powered Python backend. The backend should return the generated narrative, which can then be displayed in your web application.

Here’s a simple example using JavaScript to fetch a narrative from your Python backend:

async function getNarrative() {
    const response = await fetch('http://localhost:5000/narrative', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
        body: JSON.stringify({ data: yourData }),

    const responseData = await response.json();
    document.getElementById('narrative-container').innerText = responseData.narrative;

Remember to replace yourData with the data you’ve extracted from your Power BI visualization.


Automated data storytelling enhances the value of Power BI data visualizations by providing users with engaging narratives that help them better understand their data. By leveraging OpenAI’s natural language generation capabilities, you can automatically generate insightful narratives and summaries based on your Power BI visuals. Although direct integration with Power BI is not currently available, you can still utilize OpenAI-generated narratives in your reports or create custom web applications to combine Power BI visuals with automated storytelling.

This blogpost was created with help from ChatGPT Pro.

Enhancing Power BI Data Analysis with OpenAI API: A Follow-Up Guide


In our previous blog post, we walked you through the process of integrating Power BI with OpenAI’s GPT-4 to generate textual insights. This time, we will dive deeper into leveraging the OpenAI API to analyze data in Power BI and enhance your data-driven decision-making process. By incorporating OpenAI’s natural language processing capabilities, you can extract valuable information from textual data and make informed decisions based on your Power BI analysis.


  1. Familiarity with the previous blog post on integrating Power BI with OpenAI
  2. A Power BI Pro or Premium account
  3. OpenAI API Key
  4. Python and required libraries installed (openai, pandas, powerbiclient)

Note – Please be aware that this solution involves interacting with OpenAI’s API. I encourage users to familiarize themselves with OpenAI’s data usage policy ( and take necessary precautions to ensure the privacy and security of their data.

Step 1: Fetch and Process Textual Data

Before analyzing textual data with the OpenAI API, you need to fetch and preprocess it. In this example, we will work with customer reviews data. You can import this data into Power BI from various sources like a CSV file, Excel file, or a database.

  1. Import customer reviews data into Power BI and create a dataset.
  2. Clean and preprocess the data as necessary (e.g., removing duplicates, handling missing values, etc.).

Step 2: Update the Python Script to Analyze Textual Data with OpenAI

  1. Open the Python script you created in the previous blog post (e.g., ‘’) and locate the fetch_openai_data function.
  2. Modify the function to accept the text to be analyzed as an input parameter:
def fetch_openai_data(text):

3. Update the OpenAI API call within the function to perform the desired analysis task. For example, you can modify the prompt to perform sentiment analysis:

def fetch_openai_data(text):
    prompt = f"Analyze the sentiment of the following customer review: '{text}'. Is it positive, negative, or neutral?"
    response = openai.Completion.create(
    generated_text = response.choices[0].text.strip()
    return generated_text

Step 3: Analyze Textual Data in Power BI Using the Updated Python Script

  1. In Power BI, create a new column in the customer reviews dataset to store the sentiment analysis results.
  2. Iterate through the customer reviews and call the fetch_openai_data function for each review. Store the sentiment analysis result in the new column:
for index, row in customer_reviews.iterrows():
    text = row["Review_Text"]
    sentiment = fetch_openai_data(text)
    customer_reviews.loc[index, "Sentiment"] = sentiment

Step 4: Visualize the Analyzed Data in Power BI

  1. In Power BI, create a new report using the updated customer reviews dataset.
  2. Design visualizations to display the sentiment analysis results, such as pie charts, bar charts, or word clouds. You can also create filters to allow users to interact with the data and explore specific segments, such as reviews with positive or negative sentiment.
  3. Save and publish the report to share the AI-enhanced insights with your team.


In this follow-up blog post, we demonstrated how to use the OpenAI API to analyze textual data in Power BI, enhancing your data analysis capabilities. By incorporating the power of OpenAI’s natural language

processing into your Power BI dashboard, you can gain deeper insights and make more informed decisions based on your data.

Remember that this is just one example of how you can integrate OpenAI with Power BI for data analysis. You can customize the Python script and the OpenAI prompt to perform other analysis tasks such as topic extraction, keyword identification, or summarization. The possibilities are vast, and with a little creativity, you can unlock the full potential of combining AI and business intelligence tools to drive your organization’s success.

As you continue exploring the integration of OpenAI and Power BI, always keep in mind the ethical considerations and usage guidelines of AI-generated content. Ensure that the generated insights align with your organization’s values and goals while adhering to responsible AI practices.

Learn More

If you’re interested in learning more, here are three example follow-up questions you could ask ChatGPT about the blog post:

  1. In the blog post about using the OpenAI API to analyze data in Power BI, how can I optimize the Python script to handle a large volume of textual data for analysis without exceeding API rate limits or incurring excessive costs?
  2. What are some methods to ensure data privacy and security when analyzing sensitive textual data, such as customer reviews or internal communications, using the OpenAI API and Power BI integration?
  3. Are there any limitations or potential biases in the AI-generated analysis that users should be aware of when interpreting the results and making data-driven decisions based on the Power BI visualizations?

This blogpost was created with help from ChatGPT Pro.

Integrating Power BI with OpenAI: A Comprehensive Guide


As the need for data-driven decision-making grows, integrating artificial intelligence (AI) with business intelligence (BI) tools has become an invaluable asset for businesses. Two popular tools in these fields are Power BI by Microsoft and OpenAI’s GPT-4. In this blog post, we’ll walk you through a detailed process to integrate Power BI with OpenAI, unlocking powerful analytics and AI capabilities for your organization.

Power BI is a suite of business analytics tools that helps you visualize and share insights from your data. OpenAI is a cutting-edge AI research lab that has developed the GPT-4, a large language model capable of understanding and generating human-like text. By integrating Power BI with OpenAI, you can enhance your data analysis and generate insights using AI techniques.

Note – Please be aware that this solution involves interacting with OpenAI’s API. I encourage users to familiarize themselves with OpenAI’s data usage policy ( and take necessary precautions to ensure the privacy and security of their data.


  1. A Power BI Pro or Premium account
  2. OpenAI API Key (Sign up for OpenAI’s API service at

Step 1: Install Python and Required Libraries

To install Python on your computer, follow these steps:

  1. Visit the official Python website:
  2. You will see the download buttons for the latest Python version available for your operating system (Windows, macOS, or Linux). Click on the appropriate button to download the installer. If you need a different version or want to explore other installation options, click on the “View the full list of downloads” link below the buttons.
  3. Once the installer is downloaded, locate the file in your downloads folder or wherever your browser saves downloaded files.
  4. Run the installer by double-clicking on the file.

For Windows:

  • In the installer, check the box that says “Add Python to PATH” at the bottom. This will allow you to run Python from the command prompt easily.
  • Select the “Customize installation” option if you want to change the default installation settings, or just click on “Install Now” to proceed with the default settings.
  • The installer will install Python and set up the necessary file associations.

For macOS:

  • Follow the installation prompts in the installer.
  • Depending on your macOS version, Python may already be pre-installed. However, it’s usually an older version, so it’s still recommended to install the latest version from the official website.

For Linux:

  • Most Linux distributions come with Python pre-installed. You can check the installed version by opening a terminal and typing python --version or python3 --version. If you need to install or update Python, use your distribution’s package manager (such as apt, yum, or pacman) to install the latest version.

After installation, open a command prompt or terminal and type python --version or python3 --version to ensure that Python has been installed correctly. You should see the version number of the installed Python interpreter.

Now you have Python installed on your computer and are ready to proceed with installing the required libraries and running Python scripts.

2. Install the following Python libraries using pip:

pip install openai pandas powerbiclient
pip install msal

Step 2: Create a Power BI Dataset and Table

  1. Sign in to Power BI service at
  2. Navigate to your workspace and click on ‘Datasets + dataflows’ in the left pane.
  3. Click on the ‘+ Create’ button and select ‘Streaming Dataset.’
  4. Choose ‘API’ as the connection type and click ‘Next.’
  5. Provide a name for your dataset, such as ‘OpenAI_Insights,’ and click ‘Create.’
  6. You will receive an API URL and an authentication token. Save these for later use.

Step 3: Create a Python Script to Fetch Data and Push to Power BI

  1. Create a new Python script (e.g., ‘’) and import the required libraries:
import openai
import pandas as pd
from powerbiclient import Report, models
import requests
from msal import PublicClientApplication

2. Set up OpenAI API and Power BI authentication:

# Set up OpenAI API
openai.api_key = "your_openai_api_key"

# Set up Power BI authentication
POWER_BI_CLIENT_ID = "your_power_bi_client_id"
SCOPE = [""]
app = PublicClientApplication(POWER_BI_CLIENT_ID, authority=AUTHORITY)

result = None
accounts = app.get_accounts()
if accounts:
    result = app.acquire_token_silent(SCOPE, account=accounts[0])

if not result:
    flow = app.initiate_device_flow(scopes=SCOPE)
    result = app.acquire_token_by_device_flow(flow)

powerbi_auth_token = result["access_token"]

Replace your_openai_api_key with your OpenAI API key and your_power_bi_client_id with your Power BI client ID. The script will prompt you to authenticate with Power BI by providing a URL and a device code.

To obtain your Power BI client ID, you need to register an application in the Azure Active Directory (Azure AD) associated with your Power BI account. Here’s a step-by-step guide to help you get your Power BI client ID:

  1. Sign in to the Azure portal: Go to and sign in with the account you use for Power BI.
  2. Navigate to Azure Active Directory: Once you’re logged in, click on “Azure Active Directory” from the left-hand menu or find it using the search bar at the top.
  3. Register a new application: In the Azure Active Directory overview page, click on “App registrations” in the left-hand menu, and then click on the “+ New registration” button at the top.
  4. Configure your application:
    • Provide a name for your application (e.g., “PowerBI_OpenAI_Integration”).
    • Choose the supported account types (e.g., “Accounts in this organizational directory only” if you want to restrict access to your organization).
    • In the “Redirect URI” section, choose “Web” and provide a URL (e.g., “https://localhost“). This is just a placeholder and won’t be used for our Python script.
  5. Click on the “Register” button at the bottom to create the application.
  6. Obtain your client ID: After registering your application, you’ll be redirected to the application’s overview page. Here, you’ll find the “Application (client) ID.” This is the Power BI client ID you need for your Python script. Make sure to copy and save it securely.
  7. Grant API permissions:
    • In the application’s main menu, click on “API permissions.”
    • Click on the “+ Add a permission” button and select “Power BI Service.”
    • Choose “Delegated permissions” and check the “Dataset.ReadWrite.All” permission.
    • Click on the “Add permissions” button to save your changes.
  8. Don’t forget to update the Power BI client ID in your Python script!

3. Create a function to fetch data from OpenAI and process it:

def fetch_openai_data(prompt):
response = openai.Completion.create(
generated_text = response.choices[0].text.strip()
return generated_text

4. Create a function to push data to Power BI:

def push_data_to_powerbi(api_url, auth_token, dataframe):
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {auth_token}",
data_json = dataframe.to_json(orient="records")
response =, headers=headers, data=data_json)
return response.status_code

5. Use the functions to fetch data from OpenAI and push it to Power BI:

# Define your OpenAI prompt
prompt = "Summarize the key factors affecting the global economy in 2023."

# Fetch data from OpenAI
openai_data = fetch_openai_data(prompt)

# Create a DataFrame with the data
data = {"OpenAI_Insight": [openai_data]}
dataframe = pd.DataFrame(data)

# Push data to Power BI
api_url = "your_power_bi_api_url"
auth_token = powerbi_auth_token
status_code = push_data_to_powerbi(api_url, auth_token, dataframe)

# Print status code for confirmation
print(f"Data push status code: {status_code}")

6. Save and run the Python script:


If successful, you should see the status code ‘200’ printed, indicating that the data push was successful.

Step 4: Create a Power BI Report and Visualize Data

  1. Go back to Power BI service and navigate to the ‘OpenAI_Insights’ dataset.
  2. Click on the dataset to create a new report.
  3. In the report editor, create a table or any other visualization type to display the ‘OpenAI_Insight’ data.
  4. Save and publish the report to share insights with your team.


In this blog post, we walked you through the process of integrating Power BI with OpenAI. By following the steps, you can use Power BI to visualize and share insights generated by OpenAI’s GPT-4, enhancing your data analysis capabilities. This integration opens up new possibilities for advanced data-driven decision-making, enabling your organization to stay ahead of the competition.

Remember that this is just a starting point. You can further customize the Python script to fetch and process more complex data from OpenAI, and even create dynamic, real-time dashboards in Power BI to keep your team updated with the latest AI-generated insights.

Learn More

If you’re interested in learning more, here are three example follow-up questions you could ask ChatGPT about the blog post:

  1. How can I customize the OpenAI prompt to generate more specific insights or analyses for my Power BI dashboard?
  2. What are some best practices for visualizing the AI-generated insights in Power BI to create effective and easy-to-understand reports?
  3. Can you provide examples of other use cases where the integration of Power BI and OpenAI can be beneficial for businesses or organizations?

Make sure you provide the context of the blogpost when asking your follow-up questions. Here is an example of how you could ask it:

In the blog post about integrating Power BI with OpenAI, you mentioned creating a Python script to fetch data and push it to Power BI. How can I customize the OpenAI prompt within the script to generate more specific insights or analyses for my Power BI dashboard?

Thanks for reading!

This blogpost was created with help from ChatGPT Pro.