Excel for Mac tukee nyt Power Queryn päivitystä useille tietolähteille sekä kyselyn luomista VBA:n kautta. Sisällön tuomista Power Query Editorissa ei tueta vielä.
Power Query -kyselyjen päivittäminen
Voit päivittää kyselyjä seuraavista tietolähteistä:
-
Paikallinen. TXT, . CSV, . XLSX, . XML tai . JSON-tiedostot
-
Nykyisen työkirjan taulukot ja alueet
-
SQL Server ja tietokannan todennus
-
SharePoint-tiedostot, kansiot ja luettelot*
-
OData-syötteet*
Huomautus: *Päivitä SharePoint-tiedostoista, kansioista ja luetteloista ja OData-syötteistä on tällä hetkellä beetaversiossa, ja tällä hetkellä vain Office Insider -ohjelmissa.
Mitään erikoiskomentoa ei tarvita – valitse Tiedot> Päivitä kaikki tai käytä mitä tahansa muuta ulkoista tietojen päivitysmenetelmää.
Tunnistetietojen kehote
Kun päivität kyselyn ensimmäisen kerran, sinua saatetaan pyytää kirjautumaan sisään. Valitse todennusmenetelmä ja määritä kirjautumisen tunnistetiedot, jotta voit muodostaa yhteyden tietolähteeseen ja jatkaa päivitystä. Näyttöön tulee tunnistetietokehote tietolähteen mukaan.
Seuraavassa on esimerkiksi SQL Serverin tunnistetietojen kehote:
Ja tässä on SharePoint-kehote:
Kirjautumistietojen tyhjentäminen
Jos haluat tyhjentää olemassa olevat kirjautumisen tunnistetiedot, valitse > yhteydet,valitse haluamasi yhteys ja valitse sitten Tyhjennä käyttöoikeudet.
Power Query -kyselyjen luominen VBA:n avulla
Vaikka Power Query Editorissa ei ole vielä mahdollista tehdä sisällöntomista Excel for Macissa, VBA tukee Power Queryn sisällön tuomista. Seuraavassa on joitakin peruskoodia, joita voit mukauttaa ja käyttää.
Kyselyn luominen ja tietojen lataaminen
Tässä on yksinkertainen esimerkki, joka lisää kyselyn, joka luo luettelon, jonka arvot ovat 1–100.
Sub CreateSampleList()
ActiveWorkbook.Queries.Add Name:="SampleList", Formula:= _
"let" & vbCr & vbLf & _
"Source = {1..100}," & vbCr & vbLf & _
"ConvertedToTable = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error)," & vbCr & vbLf & _
"RenamedColumns = Table.RenameColumns(ConvertedToTable,{{""Column1"", ""ListValues""}})" & vbCr & vbLf & _
"in" & vbCr & vbLf & _
"RenamedColumns"
ActiveWorkbook.Worksheets.Add
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
"OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=SampleList;Extended Properties=""""" _
, Destination:=Range("$A$1")).QueryTable
.CommandType = xlCmdSql
.CommandText = Array("SELECT * FROM [SampleList]")
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "SampleList"
.Refresh BackgroundQuery:=False
End With
End Sub
Tutustu myös seuraaviin ohjeaiheisiin
Kyselyt-https://docs.microsoft.com/en-us/office/vba/api/excel.queries
WorkbookQuery-objektihttps://docs.microsoft.com/en-us/office/vba/api/excel.workbookquery