Zápis do SQL přímo z Power Query
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.
Autor: Martin Bradáč
V článku je popsané, jak využít Power Query ne k načítání dat do datového modelu Power BI, ale k zápisu přímo do libovolné SQL databáze.
Power Query je silný dotazovací nástroj. Nespornou výhodou je schopnost zpracovat data v mnoha různých formátech. Tyto možnosti lze ale využít i pro zápis dat do SQL databáze.
Následující přiklad popisuje triviální situaci. Máme data v Excelu a SQL databázi, data (počty prodaných vozidel) z Excelu chceme uložit do SQL. Každému autu v SQL tak přiřadíme počet prodaných kusů z Excelu.
V našem řešení použijeme vlastní funkci z důvodu snadného opakovaného používání.
Vytvoření vlastní funkce
Vytvoříme funkci, kterou pojmenujeme například fSQLWrite, její zápis by mohl vypadat následovně:
- let
fSQLWrite = (Car, Sales) =>
Sql.Database(
"data",
"test",
[Query="UPDATE [cars] SET [pcs]=" & Number.ToText(Sales) & " WHERE Model='" & Car & "'"])
in
fSQLWrite
Protože:
- Vstupními parametry jsou hodnoty Car a Sales.
- Sql.Database je název funkce
- "data“ – název serveru
- „test“ – název databáze
- následuje vlastní dotaz – updatujeme tabulku „cars“, nastavíme v ní hodnotu „pcs“ podle parametru „Sales“ na řádku, kde ´“Model“ odpovídá parametru „Car“
Volání funkce
Připojíme Excelový sešit do PowerQuery jako další zdroj dat.
Přidáme sloupec s vlastní funkcí – do parametrů vložíme hodnoty ze sloupců.
Dotaz aktualizujeme - tím se hodnoty z Excelu uloží do databáze.
S tímto tématem se setkáte na našich kurzech ExcelTown.
Aktuálně: kurzy můžete absolvovat jak online, tak prezenčně.