Beddelka qoraalka badan ee Query Query oo leh Liis.Uruso shaqada

Sida ugu dhakhsaha badan iyo guud ahaan qoraalka loogu beddelo si waafaqsan liiska tixraaca leh qaabab - hore ayaan u soo saarnay. Hadda aan isku dayno inaan ku samayno Query Query.

Sida badanaa dhacda samee Hawshani aad bay uga sahlan tahay sharaxaadda sababta way shaqeysaa, laakiin aan isku dayno inaan sameyno labadaba 🙂

Markaa, waxaanu haynaa laba jaantus oo firfircoon oo “smart” ah oo laga sameeyay tirooyin caadi ah oo leh keyboard gaaban Ctrl+T ama koox Guriga – Qaab miis ahaan (Guriga - Qaabka Shaxda):

Beddelka qoraalka badan ee Query Query oo leh Liis.Uruso shaqada

Waxaan wacay miiskii ugu horreeyay Data, miiska labaad - Directoryisticmaalka garoonka Magaca miiska (Magaca shaxda) tab Constructor (Naqshad).

Hawsha: ku beddel cinwaannada shaxda Data dhammaan dhacdooyinka ka yimid tiir Si aad u hesho Buug-gacmeedka si ay u dhigmaan dhigooda saxda ah ee tiirka Bedelka. Inta kale ee qoraalka unugyada waa in aan la taaban.

Tallaabada 1. Ku shub hagaha galka Query-ga oo u rogo liis

Markaad dejiso unugga firfircoon meel kasta oo ka mid ah miiska tixraaca, dhagsii tab Data (Taariikh)ama tabka Weydiinta Awooda (haddii aad haysato nooc hore oo Excel ah oo aad ku rakibtay Query Query sidii add-in tab gooni ah) badhanka Laga soo bilaabo miiska/kala duwanaanshaha (laga bilaabo Shaxda/Range).

Jadwalka tixraaca waxa lagu shubi doonaa tafatiraha weydiinta Awooda:

Beddelka qoraalka badan ee Query Query oo leh Liis.Uruso shaqada

Si aan loo faragelin, tallaabo si toos ah loogu daray nooca wax laga beddelay (Nooca la beddelay) guddiga saxda ah, tillaabooyinka lagu dabaqay si badbaado leh ayaa loo tirtiri karaa, oo ka tagaya kaliya tallaabada source (Xigasho):

Beddelka qoraalka badan ee Query Query oo leh Liis.Uruso shaqada

Hadda, si loo sameeyo isbeddello dheeraad ah iyo beddelaad, waxaan u baahanahay inaan shaxdan u rogno liis (liiska).

Hoos -u -dhigista luuqada

Kahor intaanan sii wadin, aan marka hore fahano shuruudaha. Weydiinta Korontadu waxay la shaqayn kartaa dhawr nooc oo shay:
  • Shaxda waa shax laba-cabbir ah oo ka kooban dhowr saf iyo tiirar.
  • Duub (Diiwaan gal) Xadhig-hal-cabbir ah, oo ka kooban dhowr qaybood-qaybo magacyo leh, tusaale ahaan [Magaca = "Masha", Jinsi = "f", da'da = 25]
  • List - saf hal-gees ah, oo ka kooban dhowr walxood, tusaale ahaan {1, 2, 3, 10, 42} or {"Rajo Iimaan Jacayl" }

Si aan u xalino dhibaheena, waxaan ugu horeyn xiiseyn doonaa nooca List.

Khiyaamada halkan ku jirta ayaa ah in liiska walxaha ku jira Query Query aanay noqon karin oo keliya tirooyinka baanka ama qoraalka, laakiin sidoo kale liisaska ama diiwaannada kale. Waxay ku jirtaa liis (liiskaas) khiyaano badan, oo ka kooban diiwaanno (diwaangelin) oo aan u baahannahay inaan beddelno hagahayaga. Marka la eego Query Query tilmaanta isku-dhafka ah (gelisyada xajmiyada labajibbaaran, liisaska ku jira xidhmooyinka laabka leh) tani waxay u ekaan doontaa:

{

    [ Hel = "St. Petersburg", Beddel = "St. Petersburg”] ,

    [ Hel = "St. Petersburg", Beddel = "St. Petersburg”] ,

    [ Hel = "Peter", Beddel = "St. Petersburg”] ,

iwm

}

Isbeddelka noocan oo kale ah waxaa lagu sameeyaa iyadoo la adeegsanayo hawl gaar ah oo luqadda M ah oo lagu dhisay Query Query - Shaxda.ToRecords. Si aad si toos ah ugu codsato baarka caanaha, ku dar shaqadan koodka tillaabada ee halkaa ku yaal source.

Waxay ahayd:

Beddelka qoraalka badan ee Query Query oo leh Liis.Uruso shaqada

Kadib:

Beddelka qoraalka badan ee Query Query oo leh Liis.Uruso shaqada

Ka dib marka lagu daro Shaxda.ToRecords shaqada, muuqaalka miiskayaga ayaa isbeddeli doona - wuxuu isu rogi doonaa liiska diiwaannada. Waxa ku jira diiwaanada gaarka ah waxa laga arki karaa xagga hoose ee muraayada aragtida adiga oo gujinaya dhabarka gacanta ee ku xiga kelmad kasta Record (laakin hal kelmad ma aha!)

Marka lagu daro kuwa kore, waxay macno samaynaysaa in lagu daro hal istaroog oo kale - si loo kaydiyo (buffer) liiskayaga la abuuray. Tani waxay ku qasbi doontaa Query Query inay ku shubto liiskayaga raadinta hal mar xusuusta oo aynaan dib u xisaabin marka aan hadhow galno si aan u bedelno. Si tan loo sameeyo, ku duub qaacidadayada shaqo kale - Liiska.Buffer:

Beddelka qoraalka badan ee Query Query oo leh Liis.Uruso shaqada

Kaydinta noocan oo kale ah waxay siin doontaa koror aad u muuqda oo xawli ah (dhowr jeer!) Iyadoo tiro badan oo xogta bilowga ah la nadiifinayo.

Tani waxay dhamaystiraysaa diyaarinta buug-gacmeedka.

Way hadhay in la gujiyo Guriga - Xidh oo Raro - Xidh oo Ku Raro… (Guriga - Xir & Soodeji - Xidh & Ku Rar ..), dooro ikhtiyaar Kaliya samee xiriir (Kaliya abuur xidhiidh) oo ku soo celi Excel.

Tallaabada 2. Soo dejinta xogta miiska

Wax walba halkan waa trite. Sidii hore oo kale buugga tixraaca, waxaan u kacaynaa meel kasta oo miiska ah, guji tab Data button Laga soo bilaabo Shaxda/Range iyo miiskayaga Data wuxuu galay Query Query. Tallaabo si toos ah loogu daray nooca wax laga beddelay (Nooca la beddelay) waxaad sidoo kale ka saari kartaa:

Beddelka qoraalka badan ee Query Query oo leh Liis.Uruso shaqada

Looma baahna waxqabad gaar ah oo diyaarin ah in lagu sameeyo, waxaanan u gudubnay waxa ugu muhiimsan.

Talaabada 3. Samee bedelada adigoo isticmaalaya Liiska.Accumulate function

Aynu ku darno tiir xisaabsan shaxda xogtayada anagoo adeegsanayna amarka Ku darida Sadar - Tiirka Gaarka ah (Ku dar tiir - tiirka gaarka ah): oo geli magaca tiirka lagu daray daaqada furmo (tusaale ahaan, ciwaan la saxay) iyo shaqadeena sixirka Liiska.Ururso:

Beddelka qoraalka badan ee Query Query oo leh Liis.Uruso shaqada

Way hadhay in la gujiyo OK - oo waxaan helnaa tiir leh beddelka la sameeyay:

Beddelka qoraalka badan ee Query Query oo leh Liis.Uruso shaqada

Ogsoonow in:

  • Mar haddii Query Query uu yahay kiis xasaasi ah, ma jirin wax beddel ah oo ku jira xariiqda ugu sarreysa, sababtoo ah buugga waxaan ku haynaa "SPb", ma aha "SPb".
  • Haddii ay jiraan dhowr xargo-hoosaadyo ah oo lagu beddelo hal mar xogta isha (tusaale ahaan, xariiqda 7aad waxaad u baahan tahay inaad bedesho labadaba "S-Pb" iyo "Prospectus"), markaa tani ma abuureyso wax dhibaato ah (si ka duwan bedelida qaababka habkii hore).
  • Haddii aysan jirin wax lagu beddelayo qoraalka isha (line 9th), markaa ma jiraan khaladaad (ka duwan, mar kale, beddelka qaababka).

Xawaaraha codsigan oo kale waa mid aad iyo aad u wanaagsan. Tusaale ahaan, shaxda xogta bilowga ah oo cabbirkeedu dhan yahay 5000 saf, weydiintan waxa lagu cusboonaysiiyay wax ka yar ilbiriqsi (la'aanteed, jidka, ilaa 3 sekan!)

Sida List.Accumulate function u shaqeeyo

Mabda 'ahaan, tani waxay noqon kartaa dhamaadka (aniga inaan qoro, iyo inaad akhrido) maqaalkan. Haddii aad rabto inaadan kaliya awoodin, laakiin sidoo kale aad fahamto sida ay u shaqeyso "hoosteeda daboolka", markaa waxaad u baahan doontaa inaad wax yar ka sii darto godka bakaylaha oo aad wax ka qabato Liiska. Accumulate function, kaas oo sameeyay dhammaan beddelka bulk. noo shaqee.

Erayga shaqadan waa:

=Liiska.Urur(liiska, abuur, kaydiyaha)

halkaas oo

  • liiska waa liiska aan ku soo celcelineyno. 
  • abuur - xaaladda bilowga ah
  • kaydiyaha - shaqo fulinaysa qaar ka mid ah qalliinka (xisaabta, qoraalka, iwm.) ee qaybta xigta ee liiska oo ururisa natiijada habaynta doorsoome gaar ah.

Guud ahaan, habka qorista ee hawlaha qoraalka ee Query Query waxay u egtahay sidan:

(argument1, argument2, … argumentN) => falalka qaar ee leh doodo

Tusaale ahaan, hawsha soo koobidda waxa loo matalli karaa sida:

(a, b) => a + b

Liistada.Accumulate , shaqadan ururintu waxay leedahay laba doodood oo loo baahan yahay (wax kasta ayaa lagu magacaabi karaa, laakiin magacyada caadiga ah waa gobolka и hadda, sida ku jirta caawimada rasmiga ah ee shaqadan, halkaas oo:

  • gobolka - doorsoome halkaas oo natiijadu ku ururto (qiimihiisu bilawga ah waa kan kor ku xusan abuur)
  • hadda - qiimaha soo socda ee liiska laga soo xigtay liiska

Tusaale ahaan, aan eegno tillaabooyinka macquulka ah ee dhismaha soo socda:

=Liiska.Urur({3, 2, 5}, 10, (state, current) => xaalad + hadda)

  1. Qiimaha isbedbeddelaya gobolka waxa loo dhigay si le'eg doodda hore abuurIe gobolka = 10
  2. Waxaan qaadanaa qaybta koowaad ee liiska (hadda = 3) oo ku dar doorsoomayaasha gobolka (toban). Waxaan helnaa gobolka = 13.
  3. Waxaan qaadanaa qaybta labaad ee liiska (hadda = 2) oo lagu daro qiimaha hadda la ururiyey ee doorsoomayaasha gobolka (toban). Waxaan helnaa gobolka = 15.
  4. Waxaynu qaadanaynaa qaybta saddexaad ee liiska (hadda = 5) oo lagu daro qiimaha hadda la ururiyey ee doorsoomayaasha gobolka (toban). Waxaan helnaa gobolka = 20.

Kani waa ururradii ugu dambeeyay gobolka qiimuhu waa Liiskayaga

Beddelka qoraalka badan ee Query Query oo leh Liis.Uruso shaqada

Haddii aad wax yar khiyaaliso, ka dib adigoo isticmaalaya List.Accumulate function, waxaad ku ekaan kartaa, tusaale ahaan, shaqada Excel CONCATENATE (Query Query, analooga waxaa loo yaqaannaa). Qoraal.Isku dar) iyadoo la adeegsanayo odhaahda:

Beddelka qoraalka badan ee Query Query oo leh Liis.Uruso shaqada

Ama xitaa raadi qiimaha ugu sarreeya (ku dayashada shaqada MAX ee Excel, taas oo Query Query loo yaqaan Liiska.Max):

Beddelka qoraalka badan ee Query Query oo leh Liis.Uruso shaqada

Si kastaba ha ahaatee, qaabka ugu muhiimsan ee List.Accumulate waa awooda lagu farsameeyo kaliya maaha qoraalka fudud ama liisaska tirada sida doodaha, laakiin walxo aad u adag - tusaale ahaan, liisaska-liiska ama liisaska-laga soo bilaabo-duubista (hello, Directory!)

Aan mar kale eegno dhismaha sameeyay beddelka dhibkeena:

Liis.Urur(Directory, [Cinwaan], (state, current) => Qoraal )

Maxaa runtii halkan ka socda?

  1. Sida qiimaha hore (abuur) waxaynu ka soo qaadanaynaa tiirka ugu horreeya qoraalka qallafsan [Cinwaan] miiskayaga: 199034, St. Petersburg, str. Beringa, d. 1
  2. Dabadeed Liis garee. Isku ururi waxay mid mid ugu cel-celinaysaa walxaha liiska - Buug-gacmeedka. Qayb kasta oo liiskan ka mid ah waa rikoodh ka kooban laba qaybood oo kala ah "Maxaa la helayaa - Maxaa lagu beddelaa" ama, si kale loo dhigo, xariiqda xigta ee tusaha.
  3. Shaqada accumulator-ku waxay gelisaa doorsoome gobolka qiimaha bilowga ah (cinwaanka koowaad 199034, St. Petersburg, str. Beringa, d. 1) oo uu ku fuliyaa shaqada accumulator-ka - hawlgalka beddelka iyadoo la isticmaalayo heerka caadiga ah ee M-function Qoraal.Beddel (oo la mid ah shaqada BEDELKA ee Excel). Eraygeedu waa:

    Qoraal. Beddel( qoraalka asalka ah, waxa aan raadineyno, waxa aan ku bedeleyno)

    waxaanan ku haynaa:

    • gobolka waa ciwaankeena wasakhda ah, kaas oo ku yaala gobolka (halkaas ka imaanaya abuur)
    • hadda[Search] - qiimaha garoonka Si aad u hesho laga bilaabo gelitaanka soo socda ee liiska Directory, taas oo ku jirta doorsoomayaasha hadda
    • hadda[Beddel] - qiimaha garoonka Bedelka laga bilaabo gelitaanka soo socda ee liiska Directoryjiifa hadda

Sidaa darteed, ciwaan kasta, wareeg buuxa oo ah tirinta dhammaan khadadka buugga ayaa la wadaa mar kasta, iyada oo lagu beddelayo qoraalka goobta [Find] oo leh qiimaha goobta [Beddel].

Waxaan rajeynayaa inaad heshay fikradda 🙂

  • Buux ku beddel qoraalka liiska adigoo isticmaalaya qaabab
  • Tibaaxaha Joogtada ah (RegExp) ee Query Query

Leave a Reply