הערה
גישה לעמוד זה דורשת אישור. אתה יכול לנסות להיכנס או לשנות תיקיות.
גישה לעמוד זה דורשת אישור. אתה יכול לנסות לשנות מדריכים.
חל על: אפליקציות Canvas
Copilot Studio Desktop
זורמות
אפליקציות מונחות
דגמים פונקציות Power Platform CLI
Dataverse
Power Pages
מוצאת רשומה אחת או יותר בטבלה.
צפה בסרטון וידאו זה כדי ללמוד כיצד להשתמש בFilterSearch- , ובפונקציותLookUp:
הערה
פקודות power-fx של PAC CLI אינן תומכות בפונקציה Search .
Description
הפונקציה Filter מוצאת רשומות בטבלה הממלאות נוסחה. השתמש Filter כדי למצוא קבוצת רשומות התואמות לקריטריונים אחד או יותר ולבטל את הרשומות שלא.
הפונקציה LookUp מוצאת את הרשומה הראשונה בטבלה עומדת בנוסחה. השתמש LookUp כדי למצוא רשומה בודדת התואמת לקריטריונים אחד או יותר.
עבור שתיהן, הנוסחה מוערכת לכל רשומה בטבלה. רשומות שהתוצאה שלהן היא true כלולות בתוצאה. בנוסף לאופרטורים הרגילים של הנוסחה, ניתן להשתמש באופרטורים in ו- exactin עבור התאמות של מחרוזות משנה.
שדות הרשומה המעובדים כעת זמינים בתוך הנוסחה. השתמש באופרטור ThisRecord או פשוט צור הפניה לשדות בשמם, כפי שאתה עושה לגבי כל ערך אחר. ניתן גם להשתמש באופרטור As כדי לבחור שם עבור הרשומה שמעובדת. באופן זה, הנוסחה קלה יותר להבנה, וניתן להפוך רשומות מקוננות לנגישות. לקבלת מידע נוסף, עיין בדוגמאות להלן ובעבודה עם טווח רשומה.
הפונקציה Search מוצאת רשומות בטבלה המכילות מחרוזת באחת מהעמודות שלהן. המחרוזת עשויה להופיע בכל מקום בתוך העמודה; לדוגמה, חיפוש אחר "rob" או "bert" ימצא התאמה בעמודה שמכילה את "Robert". החיפוש אינו תלוי רישיות. בשונה Filter מ LookUp- ו Search - , הפונקציה משתמשת במחרוזת בודדת להתאמה במקום בנוסחה.
Filter והחזר Search טבלה המכילה את אותן עמודות כמו הטבלה המקורית והרשומות התואמות לקריטריונים. LookUp מחזירה רק את הרשומה הראשונה שנמצאה, לאחר החלת נוסחה כדי להפחית את הרשומה על ערך יחיד. אם לא נמצאו רשומות, Filter והחזר Search טבלה ריקה והחזרת LookUpהרשומות ריקות.
טבלאות הן ערך ב Power Apps, בדיוק כמו מחרוזת או מספר. ניתן להעביר אותן אל פונקציות ולהחזיר אותן מפונקציות. Filter, Searchואל LookUp תשנה טבלה. במקום זאת, הן משתמשות בטבלה כארגומנט ומחזירות ממנה טבלה, רשומה או ערך בודד. ראה עבודה עם טבלאות לקבלת פרטים נוספים.
הקצאה
כאשר הדבר יהיה אפשרי, Power Apps יקצה פעולות סינון ומיון למקור הנתונים וידפדף בין התוצאות לפי דרישה. לדוגמה, כאשר אתה מפעיל יישום המציג פקד גלריה המלא בנתונים, רק ערכת הנתונים הראשונה תועבר בתחילה למכשיר. כאשר המשתמש גולל, נתונים נוספים יועברו ממקור הנתונים. התוצאה היא זמן הפעלה מהיר יותר עבור היישום וגישה לערכות נתונים גדולות מאוד.
עם זאת, ייתכן שהקצאה לא תהיה זמינה תמיד. מקורות נתונים משתנים בהתאם לפונקציות ולאופרטורים שבהם הם תומכים בעזרת הקצאה. אם הקצאה מלאה של נוסחה אינה אפשרית, סביבת העריכה תסמן את החלק שלא ניתן להקצות בעזרת אזהרה. כאשר ניתן, שקול לשנות את הנוסחה כדי להימנע מפונקציות ואופרטורים שלא ניתן להקצות. רשימת ההקצאה מפרטת אילו מקורות נתונים ופעולות ניתנים להקצאה.
אם הקצאה אינה אפשרית, Power Apps ימשוך רק ערכת רשומות קטנה כדי לעבוד עליה באופן מקומי. Filter ופונקציות מיון יפעלו על קבוצה מופחתת של רשומות. ייתכן שמה שזמין בגלריה לא יהווה את הסיפור השלם, וזה עלול לבלבל משתמשים.
עיין במבט כולל על הקצאה לקבלת מידע נוסף.
תחביר
Filter(Table*, Formula1 [, *Formula2*, ... ] )
- טבלה - חובה. הטבלה שבה יש לחפש.
- נוסחאות - חובה. הנוסחה שלפיה מוערכת כל רשומה בטבלה. הפונקציה מחזירה את כל הרשומות שהתוצאה שלהן היא true. ניתן להפנות לעמודות בטבלה. אם תספק יותר מנוסחה אחת, התוצאות של כל הנוסחאות ישולבו עם הפונקציה And.
Search(Table*, SearchString, Column1 [, *Column2*, ... ] )
- טבלה - חובה. הטבלה שבה יש לחפש.
- SearchString - חובה. המחרוזת לחיפוש. אם היא blank או מחרוזת ריקה, כל הרשומות מוחזרות.
- עמודות - חובה. שמות העמודות ב- Table לחיפוש. אם SearchString נמצא בתוך הנתונים של עמודות אלו כהתאמה חלקית, תוחזר הרשומה המלאה.
הערה
ב- Power Apps לפני גירסה 3.24042, שמות עמודות עבור הפונקציה צוינה עם מחרוזת טקסט באמצעות מרכאות כפולות, ואם הם מחוברים למקור נתונים, Search הם גם צריכים להיות שמות לוגיים. לדוגמה, השם הלוגי "cr43e_name" עם מרכאות כפולות שימש במקום שם תצוגה שם ללא מרכאות. עבור מקורות נתונים של SharePoint ו-Excel המכילים שמות עמודות עם רווחים, כל רווח צוין עם "_x0020_", למשל "שם העמודה" כמו "Column_x0020_Name". אחרי גרסה זו, כל האפליקציות עודכנו אוטומטית לתחביר החדש המתואר במאמר זה.
LookUp(Table*, Formula [, *ReductionFormula* ] )
- טבלה - חובה. הטבלה שבה יש לחפש. בממשק המשתמש, התחביר מוצג כ- source מעל תיבת הפונקציה.
- נוסחה - חובה. הנוסחה שלפיה מוערכת כל רשומה בטבלה. הפונקציה מחזירה את הרשומה הראשונה שהתוצאה שלה היא true. ניתן להפנות לעמודות בטבלה. בממשק המשתמש, התחביר מוצג כ- condition מעל תיבת הפונקציה.
- Formula Reduction - אופציונלי. נוסחה זו מוערכת על הרשומה שנמצאה ולאחר מכן מצמצמת את הרשומה לערך בודד. ניתן להפנות לעמודות בטבלה. אם לא תשתמש בפרמטר זה, הפונקציה תחזיר את הרשומה המלאה מהטבלה. בממשק המשתמש, התחביר מוצג כ- result מעל תיבת הפונקציה.
דוגמאות
הדוגמאות הבאות משתמשות במקור הנתוניםIceCream:
| נוסחה | Description | תוצאה |
|---|---|---|
| Filter(IceCream, OnOrder > 0) | מחזירה רשומות שבהן OnOrder גדול מאפס. |
|
| Filter(IceCream, Quantity + OnOrder > 225) | מחזירה רשומות שבהן הסכום של העמודות Quantity ו- OnOrder גדול מ- 225. |
|
| Filter(גלידה, "שוקולד" באותיות קטנות (טעם)) | מחזירה רשומות שבהן המילה "chocolate" מופיעה בשם עבור Flavor, ללא קשר לרישיות (אותיות רישיות או קטנות). |
|
| Filter(IceCream, Quantity < 10 & OnOrder < 20) | מחזירה רשומות שבהן Quantity קטן מ- 10 ו- OnOrder קטן מ- 20. אין רשומות שתואמות לקריטריונים אלו, ולכן מוחזרת טבלה ריקה. |
|
| Search(גלידה, "צ'וק", טעם) | מחזירה רשומות שבהן המחרוזת "choc" מופיעה בשם עבור Flavor, ללא קשר לרישיות (אותיות רישיות או קטנות). |
|
| Search(גלידה, "", טעם) | מכיוון שמונח החיפוש ריק, כל הרשומות מוחזרות. |
|
| LookUp(קרח, טעם = "שוקולד", כמות) | מחפשת רשומה שבה Flavor שווה ל- "Chocolate" – קיימת רשומה אחת כזו. עבור הרשומה הראשונה שנמצאה, מחזירה את Quantity של רשומה זו. | 100 |
| LookUp(IceCream, Quantity > 150, Quantity + OnOrder) | מחפשת רשומה שבה Quantity גדול מ- 150 – קיימות כמה רשומות כאלו. עבור הרשומה הראשונה שנמצאה, בעלת הערך "Vanilla" עבור Flavor, מחזירה את הסכום של העמודות Quantity ו- OnOrder. | 250 |
| LookUp(IceCream, Flavor = "Pistachio", OnOrder) | מחפשת רשומה שבה Flavor שווה ל- "Pistachio" – אין רשומות כאלו. מכיוון שלא נמצאו תוצאות, בדיקת מידע מחזירה ערך ריק. | רֵיק |
| LookUp(קרח, טעם = "וניל") | מחפשת רשומה שבה Flavor שווה ל- "Vanilla" – קיימת רשומה אחת כזו. מכיוון שלא סופקה נוסחת צמצום, הרשומה מוחזרת במלואה. | { Flavor: "Vanilla", Quantity: 200, OnOrder: 75 } |
סינון עם עמודות בחירה
הדוגמה הבאה משתמשת בטבלה חשבון ב- Microsoft Dataverse כמקור נתונים. דוגמה זו מראה כיצד רשימת Filter חשבונות בהתבסס על ערכי פקד תיבה משולבת שנבחרו:
שלב אחר שלב
פתח יישום ריק.
הוסף מסך חדש על-ידי בחירה באפשרות מסך חדש.
בכרטיסיה הוספה, בחר גלריה ולאחר מכן בחר אנכי.
בכרטיסיה מאפיינים של החלונית השמאלית, פתח את מקור נתונים ולאחר מכן בחר חשבונות.
(אופציונלי) ברשימה פריסה, בחר אפשרויות שונות.
בכרטיסיה הוספה, בחר קלט ולאחר מכן בחר תיבה משולבת. חזור על השלב כדי להוסיף עוד שני פקדי תיבה משולבת נוספים.
עבור כל פקד תיבה משולבת, בכרטיסיה מאפיינים של החלונית השמאלית, פתח את מקור נתונים ולאחר מכן בחר חשבונות. בחר ערוך לצד האפשרות שדות ולאחר מכן בחר בערכים טקסט ראשי ושדה חיפוש. הערך טקסט ראשי צריכה לכלול את עמודת האפשרויות שברצונך להוסיף לתיבה המשולבת. חזור על השלב עבור שני פקדי התיבה המשולבת האחרים.
כעת בחר בפקד Gallery והגדר את המאפיין Items בנוסחה הבאה:
Filter(Accounts, 'Industry' = ComboBox3.Selected.Industry Or IsBlank(ComboBox3.Selected.Industry), 'Relationship Type' = ComboBox2.Selected.'Relationship Type' Or IsBlank(ComboBox2.Selected.'Relationship Type'), 'Preferred Method of Contact' = ComboBox1.Selected.'Preferred Method of Contact' Or IsBlank(ComboBox1.Selected.'Preferred Method of Contact'))
Search חוויית משתמש
הדוגמאות הבאות משתמשות במקור הנתוניםIceCream:
ביישומים רבים, ניתן להקליד תו אחד או יותר בתיבת חיפוש כדי לסנן רשימת רשומות בערכת נתונים גדולה. במהלך ההקלדה, הרשימה מציגה רק את הרשומות שתואמות לקריטריוני החיפוש.
הדוגמאות בהמשך מאמר זה מציגות את התוצאות של חיפוש רשימה ששמה לקוחות, שמכילה נתונים אלה:
כדי ליצור ערכת נתונים זו כאוסף, צור פקד Button והגדר את מאפיין OnSelect שלו לנוסחה זו:
ClearCollect(Customers, Table({ שם: "Fred Garcia", חברה: "Northwind Traders" }, { שם: "Cole Miller", חברה: "Contoso" }, { שם: "Glenda Johnson", חברה: "Contoso" }, { שם: "מייק קולינס", חברה: "Adventure Works" }, { שם: " Colleen Jones", חברה: "Adventure Works" }) )
כמו בדוגמה זו, ניתן להציג רשימת רשומות בפקד Gallery בחלק התחתון של המסך. ליד החלק העליון של המסך, ניתן להוסיף פקד Text input בשם SearchInput כדי שהמשתמשים יוכלו לציין אילו רשומות מענייניות אותם.
כאשר המשתמש מקליד תווים ב- SearchInput, התוצאות בגלריה מסוננות באופן אוטומטי. במקרה זה, הגלריה מוגדרת להציג רשומות שעבורן שם הלקוח (ולא שם החברה) מתחיל ברצף התווים ב- SearchInput. אם המשתמש מקליד co בתיבת החיפוש, הגלריה מציגה את התוצאות הבאות:
כדי לבצע סינון על בסיס העמודה Name, הגדר את המאפיין Items של פקד ה- gallery לאחת מהנוסחאות הבאות:
| נוסחה | Description | תוצאה |
|---|---|---|
| Filter(Customers, StartsWith(Name, SearchInput.Text) ) | מסננת את מקור הנתונים Customers לאיתור רשומות שבהן מחרוזת החיפוש מופיעה בתחילת העמודה Name. הבדיקה אינה תלויית רישיות. אם המשתמש מקליד co בתיבת החיפוש, הגלריה מציגה את Colleen Jones ואת Cole Miller. הגלריה אינה מציגה את Mike Collins מכיוון שהעמודה Name עבור רשומה זו אינה מתחילה במחרוזת החיפוש. |
|
| Filter(Customers, SearchInput.Text in Name) | מסננת את מקור הנתונים Customers לאיתור רשומות שבהן מחרוזת החיפוש מופיעה במקום כלשהו בעמודה Name. הבדיקה אינה תלויית רישיות. אם המשתמש מקליד co בתיבת החיפוש, הגלריה מציגה את Colleen Jones,Cole Miller ו- Mike Collins מכיוון שמחרוזת החיפוש מופיעה במקום כלשהו בעמודה Name של כל הרשומות הללו. |
|
| Search(Customers, SearchInput.Text, Name) | בדומה לשימוש באופרטור in , הפונקציה Search מחפש התאמה בכל מקום בתוך העמודה Name של כל רשומה. עליך לכלול את שם העמודה בתוך מרכאות כפולות. |
|
באפשרותך להרחיב את החיפוש שלך כך שיכלול את העמודה חברה והעמודה שם:
| נוסחה | Description | תוצאה |
|---|---|---|
| Filter(Customers, StartsWith(Name, SearchInput.Text) || StartsWith(Company, SearchInput.Text) ) | מסננת את מקור הנתונים Customers לאיתור רשומות שבהן העמודה Name או העמודה Company מתחילה במחרוזת החיפוש (לדוגמה, co). האופרטור || הוא true אם אחת מהפונקציות מסוג StartsWith היא true. |
|
| Filter(Customers, SearchInput.Text בשם || SearchInput. טקסט בחברה) | מסננת את מקור הנתונים Customers לאיתור רשומות שבהן העמודה Name או העמודה Company מכילה את מחרוזת החיפוש (לדוגמה, co) במקום כלשהו. |
|
| Search(Customers, SearchInput.Text, Name, Company) | בדומה לשימוש באופרטור in , Search הפונקציה מחפש רשומות במקור הנתונים Customers שבהן העמודה Name או העמודה Company מכילים את מחרוזת החיפוש (לדוגמה, co) בכל מקום בתוכה. קל Search יותר לקרוא ולכתוב את הפונקציה מאשר Filter אם ברצונך לציין עמודות מרובות ומכפלות באופרטורים . |
|