Power Query este destul de puternic. Dar sunt pe punctul de a face Power Query Squared … scriind o interogare pentru o pagină și apoi ca Excel să efectueze aceeași interogare pentru o listă întreagă de pagini web.
Urmăriți videoclipul
- Trucul de astăzi este adaptat de la M este pentru cartea Data Monkey
- Creați o interogare pentru a obține date dintr-o singură pagină web
- Editați interogarea pentru a o transforma într-o funcție cu (VariableName) => înainte de Let
- Schimbați adresa URL codată în VariableName
- Redenumiți interogarea în fxWeather
- Închideți și încărcați. Datele vor dispărea.
- Folosiți Excel Trickery pentru a crea un tabel cu toate adresele URL
- Creați o interogare din tabelul respectiv.
- Adăugați o nouă coloană de vreme
=fxWeather((URL))
- Extindeți coloana. Debifați Prefixul
- Uimitor!
Transcriere video
Aflați Excel din Podcast, Episodul 2056: Power Query Squared
Hei, bine ai venit din nou pe netcast, eu sunt Bill Jelen. Am dat peste acest truc în timp ce mă pregăteam să fac un seminar la o conferință din Dallas numită Excelapalooza, cel mai mare nume de conferință Excel din istorie. Ar trebui să o verifici în fiecare septembrie în Dallas.
Și merită lui Ken Puls și Miguel Escobar pentru că a trebuit să fac o oră la interogarea de putere, așa că, desigur, am scos acolo o carte minunată, cea mai mare carte din lume despre Power Query. Răsfoiam cartea și am văzut că au o singură tehnică și am spus: „Așteptați o secundă. Voi vedea dacă pot adapta această tehnică. ” Și acest lucru pentru mine este minunat în interogarea de putere. Și iată ce vom face, vom lua o singură interogare de putere și apoi vom rula acea interogare de putere, acea interogare, de zeci de ori, bine?
Așadar, exemplul cu care am venit a fost acela în care voiam să extrag date dintr-o pagină web, bine. Și am ieșit la - am căutat doar câteva pagini web pe care le puteam - pe care să le pot folosi ca exemplu. Am ajuns la Weather Underground și iată adresa URL și puteți vedea că am fost în Dallas-Fort Worth, așa că extragem date pentru Dallas și arată ca pe 2 ianuarie 2015. Deci, chiar în URL sunt parametrii , dreapta? Și aceasta este o adresă URL care este doar coaptă pentru a face acest lucru să funcționeze.
Vom arunca o privire rapidă pe pagina web, deși nu este atât de importantă. Vedeți că există o mulțime de date diferite aici pe pagina web și am decis că voi încerca să obțin precipitații și temperaturi ridicate și scăzute. Și iată această întrebare. Și permiteți-mi să vă spun chiar aici că acest podcast nu este despre cum să creați această interogare, interogare nouă, din alte surse, de pe web, specificați adresa URL și apoi o grămadă de pași pe care nu îi voi detalia aici pentru a obține răspunsul final al Max Temp, Min Temp și precipitații. Ideea este că veți lua propria întrebare și o veți face să funcționeze pentru o grămadă de lucruri.
Deci, dau clic pe Închidere și încărcare și această interogare funcționează, îmi returnează un singur rând. Totul este minunat. Și voi reveni, voi edita această interogare și voi accesa View, Advanced Editor. Voi lua această întrebare și o voi face să fie o funcție, bine? Deci, chiar aici înainte de cuvântul LET, apăs pe Enter. Și între paranteze, îi voi da o variabilă (MyURL) și apoi => săgeată acolo, bine? Misto. Și apoi jos, unde au adresa URL între ghilimele, vreau să scap de întreaga adresă URL, inclusiv ghilimelele și apoi să scriu numele variabilei MyURL, bine. Deci, ceea ce spunem este că îl vom trece la URL și va face aceeași interogare, dar cu orice URL se întâmplă să-l transmitem.
Acum, câteva lucruri desconcertante aici, când fac clic pe Gata, oh bărbați! Toți pașii mei aplicați au dispărut și vor să introduc un parametru. Ignorați toate acestea. Vom redenumi acest lucru; o vom numi fxWeather. FX, desigur, fiind abrevierea pentru funcție și trebuie să vă amintiți cu adevărat acest nume și să vă amintiți ce litere sunt cu majusculă, ceea ce va fi foarte important în câteva minute. Acasă, Închideți și încărcați și BAM! Totul a dispărut. Oh nu! Dar este în regulă. Bine, deci știm că este acolo. Este doar o conexiune. Acum, voi veni aici și acesta este doar vechiul Excel, bine? Așadar, iată adresa URL, am împărțit-o în prima parte a adresei URL, partea finală a adresei URL. Știu că trebuie să iau o întâlnire; Trebuie să-l formatez în acest format ciudat al anului,lună și zi, așa că am folosit funcția TEXT pentru a face asta. Introduceți data de începere aici. Pot chiar să schimb aeroportul, așa că acum sunt înainte și înapoi. Să facem MCO pentru Orlando și să facem câteva date recente. Așa că voi începe la 01.01.2016, bine. Așa că acum avem această micuță masă amenajată aici. Și apropo, trebuie să fie o masă. Trebuie să utilizați formatul ca tabel sau Ctrl + T. Deci, știți, aceasta este doar acapararea acelei date și apoi + 1 + 1 + 1. Îl formatez, creez adresa URL.Trebuie să utilizați formatul ca tabel sau Ctrl + T. Deci, știți, aceasta este doar acapararea acelei date și apoi + 1 + 1 + 1. Îl formatez, creez adresa URL.Trebuie să utilizați formatul ca tabel sau Ctrl + T. Deci, știți, aceasta este doar acapararea acelei date și apoi + 1 + 1 + 1. Îl formatez, creez adresa URL.
Bine acum, vom construi o interogare din acest tabel. Bine, și acolo sunt informațiile mele. Am de gând să adaug o coloană nouă, să adaug o coloană personalizată, coloanele urmau să se numească Meteo, iar formula va fi = fxWeather. Asigurați-vă că este exact același caz, aceleași litere mari și mici și vom insera acel câmp numit URL așa, închizând paranteze. Fără erori de sintaxă, faceți clic pe OK. Vor să afle despre confidențialitate aici, toate acestea sunt date publice, dați clic pe Salvați, bine. Deci, acolo este întâlnirea noastră. Este amuzant că de fapt mi-au schimbat formatul în ceva care nu seamănă cu ceea ce am început. Și apoi iată Weather cu simbolul expand. Deci, voi face clic pe simbolul de extindere, debifați Utilizați numele coloanei originale ca prefix. Vreau Max, Min, Precipitații,faceți clic pe OK. Bine, și acum tot ce am nevoie este data și informațiile respective. Așa că voi da clic dreapta și voi elimina această coloană, voi da clic dreapta și voi elimina această coloană. Aici, nu am nevoie de timpul respectiv, așa că voi spune că este doar o întâlnire, bine. Și vezi ce face la fiecare întâlnire pe care o trec; întoarce maximul, cel scăzut și precipitațiile pentru Orlando. Fiecare rând de aici se îndreaptă către o altă pagină web. Imaginați-vă, dacă nu ar fi 15 rânduri, ci 5.000 de rânduri, l-ați seta să ruleze peste noapte. Obișnuiam să scriu macrocomenzi pentru asta. De fapt, una dintre paginile web este cum se construiește o macrocomandă pentru a răzuie paginile web dintr-o mie de pagini web diferite de pe un site, nu mai este necesar cu interogarea de alimentare.Faceți clic dreapta și eliminați această coloană, faceți clic dreapta și eliminați această coloană. Aici, nu am nevoie de timpul respectiv, așa că voi spune că este doar o întâlnire, bine. Și vezi ce face la fiecare întâlnire pe care o trec; întoarce maximul, cel scăzut și precipitațiile pentru Orlando. Fiecare rând de aici se îndreaptă către o altă pagină web. Imaginați-vă, dacă nu ar fi 15 rânduri, ci 5.000 de rânduri, l-ați seta să ruleze peste noapte. Obișnuiam să scriu macrocomenzi pentru asta. De fapt, una dintre paginile web este cum se construiește o macrocomandă pentru a răzuie paginile web dintr-o mie de pagini web diferite de pe un site, nu mai este necesar cu interogarea de alimentare.Faceți clic dreapta și eliminați această coloană, faceți clic dreapta și eliminați această coloană. Aici, nu am nevoie de timpul respectiv, așa că voi spune că este doar o întâlnire, bine. Și vezi ce face la fiecare întâlnire pe care o trec; întoarce maximul, cel scăzut și precipitațiile pentru Orlando. Fiecare rând de aici se îndreaptă către o altă pagină web. Imaginați-vă, dacă nu ar fi 15 rânduri, ci 5.000 de rânduri, l-ați seta să ruleze peste noapte. Obișnuiam să scriu macrocomenzi pentru asta. De fapt, una dintre paginile web este cum se construiește o macrocomandă pentru a răzuie paginile web dintr-o mie de pagini web diferite de pe un site, nu mai este necesar cu interogarea de alimentare.Se întoarce maximul, cel scăzut și precipitațiile pentru Orlando. Fiecare rând de aici se îndreaptă către o altă pagină web. Imaginați-vă, dacă nu ar fi 15 rânduri, ci 5.000 de rânduri, l-ați seta să ruleze peste noapte. Obișnuiam să scriu macrocomenzi pentru asta. De fapt, una dintre paginile web este cum se construiește o macrocomandă pentru a răzuie paginile web dintr-o mie de pagini web diferite de pe un site, nu mai este necesar cu interogarea de alimentare.Se întoarce maximul, cel scăzut și precipitațiile pentru Orlando. Fiecare rând de aici se îndreaptă către o altă pagină web. Imaginați-vă, dacă nu ar fi 15 rânduri, ci 5.000 de rânduri, l-ați seta să ruleze peste noapte. Obișnuiam să scriu macrocomenzi pentru asta. De fapt, una dintre paginile web este cum se construiește o macrocomandă pentru a răzuie paginile web dintr-o mie de pagini web diferite de pe un site, nu mai este necesar cu interogarea de alimentare.
Now, when I Close & Load, it's funny the preview here is showing me all the results. When I Close & Load, they're actually going to go do each query. And so right now we have preview rows loaded and it will take a good long time for this information to get updated. So, go to lunch, do something especially if you're doing more than 15 rows. And it's funny the preview is correct but they're still going out and could chunk, could chunk, could chunking through each individual row.
And there it's loaded. Is this amazing or what? Hey, I do a lot of Excel seminars, the Power Excel seminar in Orlando, Florida. Look at these beautiful temperatures we have down here on November 4, 2016. My afternoon will be all about Power Query, Power BI, Power Pivot, Power Map. So, I'm going to invite you down to Orlando to check out this seminar. There'll be a link there in the top-right hand corner.
Alright, so recap. Today's trick is from this book, M is for (DATA) MONKEY. We built a query to get one web page and then edit that query to change it into a function. So right before the Let statement variable name => and then change the hard-coded URL to whatever that variable name is. Rename the query to fxWeather, Close & Load, the data disappears. Then, we use some sort of Excel trickery to create a table of all the URLs we want to crawl, create a query from that table. This has to be a Ctrl+T table, add a new column of Weather = fxWeather and again it has to match the case there, (URL), Expand that column, uncheck Prefix. BAM! It is amazing.
Thanks to Ken and Miguel for writing this book. Thanks to you for stopping by. Hope to see you in Orlando on November 4th 2016. See you next time for another netcast from.
Download File
Descărcați exemplarul de fișier aici: Podcast2056.xlsm