אויב איר האָט שוין סטאַרטעד ניצן די מכשירים פון דער פריי Power Query אַדישאַן אין מיקראָסאָפט עקססעל, זייער באַלד איר וועט טרעפן אַ העכסט ספּעשאַלייזד, אָבער זייער אָפט און אַנויינג פּראָבלעם פֿאַרבונדן מיט קעסיידער ברייקינג פֿאַרבינדונגען צו מקור דאַטן. די עסאַנס פון די פּראָבלעם איז אַז אויב אין דיין אָנפֿרעג איר אָפּשיקן צו פונדרויסנדיק טעקעס אָדער פאָלדערס, Power Query האַרדקאָדעס די אַבסאָלוט דרך צו זיי אין די אָנפֿרעג טעקסט. אַלץ אַרבעט גוט אויף דיין קאָמפּיוטער, אָבער אויב איר באַשליסן צו שיקן אַ טעקע מיט אַ בקשה צו דיין חברים, זיי וועלן זיין דיסאַפּויניד ווייַל. זיי האָבן אַ אַנדערש וועג צו די מקור דאַטן אויף זייער קאָמפּיוטער, און אונדזער אָנפֿרעג וועט נישט אַרבעטן.

וואָס צו טאָן אין אַזאַ אַ סיטואַציע? זאל ס קוק אין דעם פאַל אין מער דעטאַל מיט די פאלגענדע בייַשפּיל.

פאָרמולאַטיאָן פון די פּראָבלעם

רעכן מיר האָבן אין דער טעקע E:סאַלעס ריפּאָרץ ליגט די טעקע Top 100 פּראָדוקטן.קסלס, וואָס איז אַ ופּלאָאַד פון אונדזער פֿירמע דאַטאַבייס אָדער ERP סיסטעם (1C, SAP, עטק.) די טעקע כּולל אינפֿאָרמאַציע וועגן די מערסט פאָלקס סכוירע זאכן און קוקט ווי דאָס ין:

פּאַראַמעטערייזינג דאַטאַ פּאַטס אין מאַכט אָנפֿרעג

עס איז מיסטאָמע קלאָר רעכט אַוועק די פלעדערמויז אַז עס איז כּמעט אוממעגלעך צו אַרבעטן מיט עס אין עקססעל אין דעם פאָרעם: ליידיק ראָוז דורך איינער מיט דאַטן, מערדזשד סעלז, עקסטרע שפאלטן, אַ מולטי-מדרגה כעדער, אאז"ו ו.

דעריבער, ווייַטער צו דעם טעקע אין דער זעלביקער טעקע, מיר מאַכן אן אנדער נייַע טעקע Handler.xlsx, אין וואָס מיר וועלן מאַכן אַ מאַכט אָנפֿרעג אָנפֿרעג וואָס וועט לאָדן מיעס דאַטן פון די מקור ופּלאָאַד טעקע Top 100 פּראָדוקטן.קסלס, און שטעלן זיי אין סדר:

פּאַראַמעטערייזינג דאַטאַ פּאַטס אין מאַכט אָנפֿרעג

מאַכן אַ בקשה צו אַ פונדרויסנדיק טעקע

עפן די טעקע Handler.xlsx, אויסקלייַבן אויף די קוויטל דאַטע באַפעל באַקומען דאַטן - פֿון טעקע - פֿון עקססעל וואָרקבאָאָק (דאַטאַ - באַקומען דאַטן - פֿון טעקע - פֿון עקססעל), דעמאָלט ספּעציפיצירן די אָרט פון דער מקור טעקע און די בויגן מיר דאַרפֿן. די אויסגעקליבן דאַטן וועט זיין לאָודיד אין די Power Query רעדאַקטאָר:

פּאַראַמעטערייזינג דאַטאַ פּאַטס אין מאַכט אָנפֿרעג

לאָמיר זיי צוריק ברענגען צו נאָרמאַל:

  1. ויסמעקן ליידיק שורות מיט היים - ויסמעקן שורות - ויסמעקן ליידיק שורות (היים - אַראָפּנעמען ראָוז - אַראָפּנעמען ליידיק ראָוז).
  2. ויסמעקן ומנייטיק שפּיץ 4 שורות דורך היים - ויסמעקן ראָוז - ויסמעקן שפּיץ ראָוז (היים - אַראָפּנעמען ראָוז - אַראָפּנעמען שפּיץ ראָוז).
  3. כאַפּן די ערשטער רודערן צו די טיש כעדער מיט די קנעפּל ניצן ערשטער שורה ווי כעדערז קוויטל היים (היים - ניצן ערשטער רודערן ווי כעדער).
  4. באַזונדער די פינף-ציפֿער אַרטיקל פון די פּראָדוקט נאָמען אין די רגע זייַל ניצן די באַפֿעל שפּאַלטן זייַל קוויטל טראַנספאָרמאַציע (טראַנספאָרמירן - שפּאַלטן זייַל).
  5. ויסמעקן ומנייטיק שפאלטן און רענאַמע די כעדינגז פון די רוען פֿאַר בעסער וויזאַביליטי.

ווי אַ רעזולטאַט, מיר זאָל באַקומען די פאלגענדע, פיל מער אָנגענעם בילד:

פּאַראַמעטערייזינג דאַטאַ פּאַטס אין מאַכט אָנפֿרעג

עס בלייבט צו צופֿעליקער דעם אַנאָבלעד טיש צוריק צו די בלאַט אין אונדזער טעקע Handler.xlsx די מאַנשאַפֿט נאָענט און אראפקאפיע (היים — נאָענט & לאָדן) קוויטל היים:

פּאַראַמעטערייזינג דאַטאַ פּאַטס אין מאַכט אָנפֿרעג

געפֿינען דעם דרך צו אַ טעקע אין אַ בקשה

איצט לאָמיר זען ווי אונדזער אָנפֿרעג קוקט "אונטער די קאַפּטער", אין די ינערלעך שפּראַך געבויט אין Power Query מיט די קאַנסייס נאָמען "M". צו טאָן דאָס, גיין צוריק צו אונדזער אָנפֿרעג דורך טאָפּל קליקינג אויף עס אין די רעכט שויב ריקוועס און קאַנעקשאַנז און אויף די קוויטל אָפּשאַצונג קלייַבן Advanced Editor (View — Advanced Editor):

פּאַראַמעטערייזינג דאַטאַ פּאַטס אין מאַכט אָנפֿרעג

אין די פֿענצטער וואָס אָפּענס, די רגע שורה גלייך ריווילז אַ שווער-קאָדעד וועג צו אונדזער אָריגינעל ופּלאָאַד טעקע. אויב מיר קענען פאַרבייַטן דעם טעקסט שטריקל מיט אַ פּאַראַמעטער, בייַטעוודיק, אָדער אַ לינק צו אַן עקססעל בלאַט צעל ווו דעם דרך איז פאַר-געשריבן, מיר קענען לייכט טוישן עס שפּעטער.

לייג אַ קלוג טיש מיט אַ טעקע דרך

לאָמיר איצט פאַרמאַכן Power Query און צוריקקומען צו אונדזער טעקע Handler.xlsx. לאָמיר לייגן אַ נייַ ליידיק בלאַט און מאַכן אַ קליין "קלוג" טיש אויף עס, אין דער בלויז צעל פון וואָס די פול דרך צו אונדזער מקור דאַטן טעקע וועט זיין געשריבן:

פּאַראַמעטערייזינג דאַטאַ פּאַטס אין מאַכט אָנפֿרעג

צו שאַפֿן אַ קלוג טיש פון אַ רעגולער קייט, איר קענען נוצן די קלאַוויאַטור דורכוועג קטרל+T אָדער קנעפּל פֿאָרמאַט ווי אַ טיש קוויטל היים (היים - פֿאָרמאַט ווי טיש). די זייַל כעדינג (צעל A1) קענען זיין לעגאַמרע אַלץ. אויך טאָן אַז פֿאַר קלאָרקייט איך האָבן געגעבן דעם טיש אַ נאָמען פּאַראַמעטערס קוויטל קאָנסטרוקטאָר (פּלאַן).

קאַפּיינג אַ דרך פון Explorer אָדער אפילו אַרייַן עס מאַניואַלי איז, פון קורס, נישט דער הויפּט שווער, אָבער עס איז בעסטער צו מינאַמייז די מענטש פאַקטאָר און באַשטימען דעם דרך, אויב מעגלעך, אויטאָמאַטיש. דעם קענען זיין ימפּלאַמענאַד מיט די נאָרמאַל עקססעל ווערקשיט פונקציע CELL (צעל), וואָס קענען געבן אַ בינטל פון נוציק אינפֿאָרמאַציע וועגן דער צעל ספּעסיפיעד ווי אַן אַרגומענט - אַרייַנגערעכנט די דרך צו די קראַנט טעקע:

פּאַראַמעטערייזינג דאַטאַ פּאַטס אין מאַכט אָנפֿרעג

אויב מיר יבערנעמען אַז די מקור דאַטן טעקע איז שטענדיק אין דער זעלביקער טעקע ווי אונדזער פּראַסעסער, דער וועג מיר דאַרפֿן קענען זיין געשאפן דורך די פאלגענדע פאָרמולע:

פּאַראַמעטערייזינג דאַטאַ פּאַטס אין מאַכט אָנפֿרעג

=LEFT(CELL(“טעקענאַמע”); FIND(“[“;CELL(“פילענאַמע“))-1)&“Top 100 פּראָדוקטן.קסלס”

אָדער אין ענגליש ווערסיע:

=LEFT(CELL(«טעקענאַמע»);FIND(«[«;CELL(«פילענאַמע»))-1)&»Топ-100 товаров.xls»

... ווו איז די פֿונקציע LEVSIMV (לינקס) נעמט אַ שטיק פון טעקסט פון די פול לינק אַרויף צו די עפן קוואַדראַט קלאַמער (ד"ה דער דרך צו די קראַנט טעקע), און דער נאָמען און פאַרלענגערונג פון אונדזער מקור דאַטן טעקע איז גלוד צו עס.

פּאַראַמעטערייז די דרך אין די אָנפֿרעג

די לעצטע און מערסט וויכטיק פאַרבינדן בלייבט - צו שרייַבן דעם דרך צו דער מקור טעקע אין דער בקשה Top 100 פּראָדוקטן.קסלס, ריפערינג צו צעל A2 פון אונדזער באשאפן "קלוג" טיש פּאַראַמעטערס.

צו טאָן דאָס, לאָזן אונדז גיין צוריק צו די Power Query אָנפֿרעג און עפֿענען עס ווידער Advanced Editor קוויטל אָפּשאַצונג (View — Advanced Editor). אַנשטאָט אַ טעקסט שטריקל-דרך אין קוואָטעס "E: סאַלעס ריפּאָרץ שפּיץ 100 פּראָדוקטן.קסלסקס" לאָמיר באַקענען די פאלגענדע סטרוקטור:

פּאַראַמעטערייזינג דאַטאַ פּאַטס אין מאַכט אָנפֿרעג

Excel.CurrentWorkbook(){[נאָמען="סעטטינגס"]}[אינהאַלט]0 {}[וועג צו מקור דאַטן]

זאל ס זען וואָס עס באשטייט פון:

  • Excel.CurrentWorkbook() איז אַ פֿונקציע פון ​​די M שפּראַך פֿאַר אַקסעס די אינהאַלט פון די קראַנט טעקע
  • {[נאָמען="סעטטינגס"]}[אינהאַלט] - דאָס איז אַ ראַפינירטקייַט פּאַראַמעטער צו די פריערדיקע פֿונקציע, וואָס ינדיקייץ אַז מיר ווילן צו באַקומען די אינהאַלט פון די "קלוג" טיש פּאַראַמעטערס
  • [וועג צו מקור דאַטן] איז דער נאָמען פון די זייַל אין די טיש פּאַראַמעטערסצו וואָס מיר אָפּשיקן
  • 0 {} איז די רודערן נומער אין די טיש פּאַראַמעטערספון וואָס מיר ווילן צו נעמען דאַטן. די היטל ציילן נישט און די נאַמבערינג סטאַרץ פון נול, נישט פון איין.

אַז ס אַלע, אין פאַקט.

עס בלייבט צו גיט אויף ענדיקן און טשעק ווי אונדזער בקשה אַרבעט. איצט, ווען שיקט די גאנצע טעקע מיט ביידע טעקעס ין צו אן אנדער פּיסי, די בעטן וועט בלייבן אַפּעריישאַנאַל און אויטאָמאַטיש באַשטימען דעם וועג צו די דאַטן.

  • וואָס איז Power Query און וואָס איז עס דארף ווען איר אַרבעט אין Microsoft Excel
  • ווי צו אַרייַנפיר אַ פלאָוטינג טעקסט סניפּאַט אין Power Query
  • רידיזיינינג אַ XNUMXD קראָסטאַב צו אַ פלאַך טיש מיט מאַכט אָנפֿרעג

לאָזן אַ ענטפֿערן