Power BI Desktop, Power BI Service, SSMS (SQL Server Management Studio) and SSDT (SQL Server Data Tools).
Connecting Power BI Desktop Tool with Azure SQL Data Warehouse:
With the new Azure SQL Data Warehouse Preview released in June 2015, we can connect to Power BI Online or Desktop tool and create stunning reports/dashboards to visualize and analyze your data.
Before connecting with Power BI, we will first move few records in Azure SQL Data Warehouse from SQL Server in Azure VM using SSIS (SQL Server Integration Services) as shown below:
Now we can connect to Azure SQL Data Warehouse from SQL Server and query table to view records inserted as shown below:
Once data is loaded in Azure SQL Data Warehouse, we can now start creating reports and later publish it to Power BI Online.
Find the steps given below to connect to Power BI Desktop tool:
Open Desktop tool and click ‘Get Data’ from ribbon. Select ‘Microsoft Azure SQL Data Warehouse’ and click ‘Connect’.
Enter Server Name, Database and later credentials to connect to your Azure SQL Data Warehouse.
Once connected, you can select required tables. In our case it is ‘Projects’ and click load.
Design report and later save & publish it to Power BI Online.
You can pin visualizations to dashboard and also schedule refresh without the need for Power BI Personal Gateway.
Direct Connectivity to Power BI Online from Azure SQL Data Warehouse:
We can also directly load tables in Power BI Dataset using option ‘Open in Power BI’ available in Microsoft Azure as shown below:
Once you hit ‘Open in Power BI’, you will be taken to Power BI Online and details like server name and database name will be already provided by default. Later you need to just enter password for database and then you are good to go.
You can create reports from the imported dataset and pin visuals to dashboard similarly as in case of reports published from Power BI Desktop tool as shown below:
Since dataset is directly imported in Power BI connecting to Azure SQL Data Warehouse, the dataset is automatically refreshed at regularinterval without the need to schedule refresh asshown in the following screenshot: