Բովանդակություն
Power Query-ի գրեթե յուրաքանչյուր թրեյնինգի ժամանակ, երբ մենք հասնում ենք, թե ինչպես թարմացնել ստեղծված հարցումները, և մարդիկ տեսնում են, թե ինչպես են նոր տվյալները փոխարինում հին տվյալները թարմացնելիս, ունկնդիրներից մեկն ինձ հարցնում է. «Հնարավո՞ր է համոզվել, որ թարմացնելիս հին տվյալները Նաև ինչ-որ տեղ պահպանվել են, և թարմացման ամբողջ պատմությունը տեսանելի է:
Գաղափարը նոր չէ, և դրա ստանդարտ պատասխանը կլինի «ոչ»-ը. Power Query-ը կազմաձևված է լռելյայնորեն հին տվյալները նորերով փոխարինելու համար (ինչը պահանջվում է դեպքերի ճնշող մեծամասնությունում): Այնուամենայնիվ, եթե դուք իսկապես ցանկանում եք, կարող եք շրջանցել այս սահմանափակումը: Իսկ մեթոդը, ինչպես հետագայում կտեսնեք, շատ պարզ է։
Դիտարկենք հետևյալ օրինակը:
Ենթադրենք, որ մենք ունենք ֆայլ հաճախորդի կողմից որպես մուտքային տվյալ (եկեք այն անվանենք, ասենք. Աղբյուր) ապրանքների ցանկով, որոնք նա ցանկանում է գնել «խելացի» դինամիկ աղյուսակի տեսքով դիմում:
Մեկ այլ ֆայլում (եկեք այն անվանենք անալոգիայով Ընդունիչ) մենք ստեղծում ենք պարզ հարցում՝ Աղբյուրից ապրանքներով աղյուսակ ներմուծելու համար Տվյալներ – Ստացեք տվյալներ – Ֆայլից – Excel աշխատանքային գրքույկից (Տվյալներ — Ստացեք տվյալներ — Ֆայլից — Excel աշխատանքային գրքույկից) և ստացված աղյուսակը վերբեռնեք թերթիկում՝
Եթե ապագայում հաճախորդը որոշի փոփոխություններ կատարել իր ֆայլի պատվերի մեջ Աղբյուր, ապա մեր հարցումը թարմացնելուց հետո (աջ սեղմելով կամ միջոցով Տվյալներ – Թարմացրեք բոլորը) մենք կտեսնենք նոր տվյալները ֆայլում Ընդունիչ - բոլորը ստանդարտ:
Հիմա եկեք համոզվենք, որ թարմացնելիս հին տվյալները չփոխարինվեն նորերով, այլ նորերը կցվեն հներին, և ամսաթվի ավելացմամբ, որպեսզի տեսանելի լինի, թե կոնկրետ երբ են եղել այս փոփոխությունները։ պատրաստված.
Քայլ 1. Բնօրինակ հարցմանը ամսաթիվ-ժամ ավելացնելը
Եկեք խնդրանք բացենք դիմումներմուծելով մեր տվյալները Աղբյուր, և դրան ավելացրեք սյունակ՝ թարմացման ամսաթիվը-ժամով: Դա անելու համար կարող եք օգտագործել կոճակը Պատվերով սյունակ ականջակալ Սյունակի ավելացում (Ավելացնել սյունակ — Հատուկ սյունակ), այնուհետև մուտքագրեք գործառույթը DateTime.LocalNow - ֆունկցիայի անալոգը TDATA (ՀԻՄԱ) Microsoft Excel-ում.
Սեղմելուց հետո OK դուք պետք է ավարտեք այսպիսի գեղեցիկ սյունակով (մի մոռացեք դրա համար սահմանել ամսաթվի-ժամանակի ձևաչափը սյունակի վերնագրի պատկերակով).
Եթե ցանկանում եք, ապա այս սյունակի թերթիկում վերբեռնված ափսեի համար կարող եք ավելի մեծ ճշգրտության համար սահմանել ամսաթվի ժամի ձևաչափը վայրկյաններով (դուք պետք է ավելացնեք երկու կետ և «ss» ստանդարտ ձևաչափին).
Քայլ 2. Հարցում հին տվյալների համար
Հիմա եկեք ստեղծենք մեկ այլ հարցում, որը կգործի որպես բուֆեր, որը պահպանում է հին տվյալները թարմացումից առաջ: Ընտրելով ստացված աղյուսակի ցանկացած բջիջ ֆայլում Ընդունիչ, ընտրեք ներդիրում Ամսաթիվ Հրաման Սեղանից / միջակայքից (Տվյալներ — աղյուսակից/տիրույթից) or Տերեւներով (թերթից):
Մենք ոչինչ չենք անում Power Query-ում բեռնված աղյուսակի հետ, մենք կանչում ենք հարցումը, օրինակ. հին տվյալներ եւ սեղմեք Գլխավոր — Փակել և բեռնել — Փակել և բեռնել… — Ստեղծել միայն կապ (Գլխավոր — Փակել և բեռնել — Փակել և բեռնել… — Միայն ստեղծել կապ).
Քայլ 3. Հին և նոր տվյալների միացում
Այժմ վերադառնանք մեր սկզբնական հարցմանը դիմում և դրան ներքևից ավելացրեք նախորդ բուֆերային հարցման հին տվյալները հրամանով Գլխավոր — Ավելացնել հարցումներ (Տուն — Հավելիր հարցումները):
Դա բոլորը:
Մնում է վերադառնալ Excel-ի միջոցով Գլխավոր — Փակել և ներբեռնել (Տուն — Փակել & Բեռնել) և մի քանի անգամ փորձեք թարմացնել մեր ամբողջ կառուցվածքը կոճակով Թարմացնել բոլորը ականջակալ Ամսաթիվ (Տվյալներ — Թարմացնել բոլորը). Յուրաքանչյուր թարմացումով նոր տվյալները չեն փոխարինի հին տվյալները, այլ դրանք կհրաժարվեն ստորև՝ պահպանելով թարմացման ամբողջ պատմությունը.
Նմանատիպ հնարք կարող է օգտագործվել ցանկացած արտաքին աղբյուրներից (ինտերնետ կայքեր, տվյալների բազաներ, արտաքին ֆայլեր և այլն) ներմուծելիս՝ անհրաժեշտության դեպքում պատմության հին արժեքները պահպանելու համար:
- Ամփոփիչ աղյուսակը տվյալների մի քանի տիրույթներում
- Power Query-ի միջոցով տարբեր ֆայլերից աղյուսակների հավաքում
- Գրքի բոլոր թերթերից տվյալների հավաքում մեկ աղյուսակի մեջ