SQL + Power BI pode salvar a sua vida ! Muitas vezes quando vamos importar uma base para trabalhar no Power BI temos com o conexão a fonte de dados em SQL. A ideia central é que podemos fazer as transformações antes de importar e dessa forma ter um modelo com mais performance. Fazer consultas no banco de dados é possível graças a linguagem SQL!
Com ela podemos fazer nossas consultas (querys) que irão retornar exatamente aquilo que buscamos.
A linguagem SQL pode ser utilizada em diversos SGBDs e para isso vou listar alguns abaixo, onde podemos fazer nossas query e retornar estas mais tarde no Power BI:
SQL Server ← Software que utilizaremos PostgreSQL MySQL
IBM DB2
Oracle
MariaDB ...
Agora que conhecemos alguns e está definido que vamos utilizar o SQL Server, deixo também alguns links para poder baixar e treinar a criação de querys da maneira que desejar:
SQL Server Developer (Ferramenta de BD) - https://www.microsoft.com/pt-br/sql-server/sql-server-downloads
SSMS ( ferramenta gráfica de visualização ) - https://docs.microsoft.com/pt-br/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15
Banco de dados para treinar - https://docs.microsoft.com/pt-br/sql/samples/adventureworks-install-configure?view=sql-server-ver15&tabs=ssms Caso tenha alguma dúvida vídeo Auxílio instalação - https://www.youtube.com/watch?v=W7xqjvAX0Qo
Porém antes de partir para o SQL Server vamos entender como fazer essa conexão entre os dois softwares e também entender que já temos um conector nativo no Power BI, o que significa que tudo acontece de maneira muito fácil! 😉
Encontramos aqui conexões rápidas e fáceis com bancos de dados diversos:

Também vamos analisar de que forma o SQL pode nos ajudar a carregar nossos dados de forma mais rápida e deixando o arquivo muito mais leve:

Antes de partir para o SQL também deixo aqui uma ordem de sintaxe para quando vamos escrever nossa query:
SELECT
DISTINCT
TOP
FROM
JOIN
ON
WHERE
GROUP BY
WITH CUBE ou WITH ROLLUP
HAVING
ORDER BY
Então vamos lá ?
Ao clicar no ícone do Microsoft SQL Server Management Studio e logar no servidor desejado vamos encontrar a seguinte tela:
Aqui podemos clicar em New Query para começar a escrever.

E não podemos esquecer de escolher o banco que desejamos:

Agora deixo abaixo algumas querys para que você possa treinar: -- SELECT, FROM , TOP
SELECT TOP(50) *
FROM FactInternetSales
________________________________________________________________
-- Escolher colunas
SELECT TOP(50)
ProductKey,
OrderDateKey,
CustomerKey
FROM FactInternetSales
________________________________________________________________
-- Group By
SELECT
Color,
COUNT(ProductKey) AS Qty_keys
FROM DimProduct
GROUP BY color
________________________________________________________________
-- CAST, SUM, GROUP BY, ORDER BY, ASC , DESC, AS
SELECT
CAST(OrderDate AS DATE) AS DataCompra,
AVG(ProductStandardCost) AS AVG_CustoProduto
FROM
FactInternetSales
GROUP BY
CAST(OrderDate AS DATE)
ORDER BY
CAST(OrderDate AS DATE) ASC
________________________________________________________________
-- IN, AND, WHERE,ON, INNER JOIN,
SELECT
dsc.productsubcategorykey,
dsc.englishproductsubcategoryname AS ProductName,
dsc.productcategorykey,
dct.EnglishProductCategoryName AS ProductSubcategory
FROM DimProductsubCategory AS dsc
INNER JOIN DimProductCategory AS dct
ON dsc.ProductCategoryKey = dct.ProductCategoryKey
WHERE
dsc.ProductCategoryKey IN ('3','2')
AND
dct.EnglishProductCategoryName = 'Clothing'
Aqui também deixo um site que utilizo muito para entender as funções - https://www.w3schools.com/sql/default.asp
E por fim vamos utilizar uma query no Power BI e analisar como que ela nos retorna as tabelas :
Utilizei a ultima query do nosso exemplo para treinar, também coloquei o servidor que é aqui na minha máquina e também o banco de dados que estou utilizando para escrever aquela query.

Aqui temos o nosso resultado da tabela que nos foi retornada :

Temos nossa tabela já importada e já com as transformações necessárias, o que nos garante melhor desempenho e também menos trabalho com certeza hehehe.
Qualquer dúvida que você tenha não deixe de comentar que tentarei ajudar o mais rápido possível, e creio que com a compreensão desse artigo sua vida vai ficar muuuuito mais fácil !
Espero ter ajudado, e cuidem-se todos !