Power Apps 過濾器——它是什麼以及如何使用它?

Power Apps 過濾器——它是什麼以及如何使用它?

Power Apps 篩選器是迄今為止 Power Apps 中最重要的功能之一。過濾器功能在幫助您處理大量數據方面起著至關重要的作用。

它允許您搜索表格並查明符合特定條件的記錄,使您更容易快速高效地找到所需的信息。

現在,使用 Microsft PowerApps 過濾器功能非常簡單;您無需成為 MVP 即可使用它。

讓我們開始學習吧!

Power Apps 過濾器——它是什麼以及如何使用它?

語法截圖

過濾器功能通過檢查表中的記錄並根據您設置的一個或多個公式檢查它們來運行。當記錄滿足指定條件時,它們將包含在輸出中,而那些不滿足的將被丟棄。通過這種方式,您可以有效地縮減龐大的數據集,專注於與您的需求最相關的記錄。

使用篩選器功能,您的 Power Apps 應用程序可以變得更加動態和用戶友好。此外,通過使用這個多功能工具,您可以簡化數據導航,使您的用戶能夠以最少的努力和挫折找到他們需要的東西。

目錄

Power Apps 中的篩選器功能概述

Power Apps 中的篩選器功能在優化和縮小應用程序中顯示的數據方面起著至關重要的作用。

它允許您在表中查找滿足特定條件的記錄,確保只向用戶顯示相關信息。此功能簡化了數據管理,為您和您的用戶節省了寶貴的時間和精力。

使用 Filter 函數時,您需要提供一個表和一個公式來定義每條記錄必須滿足的條件才能顯示。

然後該函數評估表中的每條記錄,僅包括滿足給定條件的記錄,同時丟棄其餘記錄。

結果是一個包含過濾數據的新表格,可以在您的應用程序中的其他組件(如圖庫或表單)中使用。

Filter 函數的語法如下:

過濾器(表格,公式 1 [,公式 2,...])

在此語法中,“Table”代表數據源,“Formula1”到“Formula2”定義包含記錄必須滿足的條件。您可以使用以逗號分隔的多個公式來增加過濾條件的複雜性和特異性。

Power Apps 中 Filter 函數用法的一些實際示例包括:

  • 查找具有特定狀態的項目
  • 顯示安排在當天的會議
  • 顯示某個部門的員工

為確保最佳性能和委派支持,請在使用 Filter 函數時注意數據集的大小。

在處理大量數據時,委派至關重要,因為它允許在數據源上執行過濾,而不是將所有記錄加載到應用程序中。

Power Apps 過濾器——它是什麼以及如何使用它?

Power Apps 搜索的共享點列表的屏幕截圖。

語法和參數

句法

Power Apps 中的篩選器功能允許您根據公式指定的一個或多個條件篩選表中的記錄。Filter 函數的一般語法是:

Filter(Table, Formula1 [, Formula2, ...])

此函數計算指定表中的每條記錄,並僅保留滿足公式中指定條件的記錄。

參數

Filter 函數具有以下參數:

  • :要過濾的表。此參數是必需的。
  • Formula1:應用於表格的第一個公式。此表達式評估表中的每條記錄以確定它是否滿足篩選條件。此參數是必需的。
  • Formula2, …:其他可選公式,以逗號分隔,以進一步細化和縮小篩選結果。這些參數是可選的。

使用 Filter 函數時,必須了解各種參數如何相互作用以產生最終過濾結果。您指定的公式越多,篩選結果就越具體和精細。

如何使用過濾功能

在 Power Apps 中,Filter 函數是一個方便的工具,用於搜索和提取一組符合特定條件的記錄。在這裡,您將發現如何根據單個或多個條件以及邏輯運算符有效地使用 Filter 函數。

基於單一標準的過濾

根據單一標準從 SharePoint 或其他來源篩選數據時,您只需提供要檢查的表和條件。例如,如果你有一張員工表,想查看薪水大於 10,000 的員工,你可以這樣寫:

Filter(EmployeeTable, Salary > 10000)

此公式將從 EmployeeTable 中返回滿足給定條件(薪水 > 10000)的一組記錄。

基於多個標準的過濾

通常,您需要根據多個條件過濾數據。在這種情況下,您可以使用附加條件擴展 Filter 函數。例如,要搜索薪水在 10,000 到 30,000 之間的員工,您可以這樣寫:

Filter(EmployeeTable, Salary > 10000, Salary <>

此公式將返回 EmployeeTable 中滿足兩個指定條件的所有記錄。

使用邏輯運算符過濾

Power Apps 篩選器功能還允許您使用邏輯運算符,例如 AND 和 OR。以下是如何在過濾條件中使用這些運算符:

  • AND 運算符:將每個條件寫為 Filter 函數中的單獨參數。例子:
Filter(EmployeeTable, Salary > 10000, Department = "HR")

此公式將返回工資大於 10,000 且屬於 HR 部門的員工。

  • OR 運算符:使用“||”組合條件 (雙豎線)單個參數中的符號。例子:
Filter(EmployeeTable, (Salary > 10000) || (Department = "HR"))

此公式將返回所有工資大於 10,000 的員工或屬於 HR 部門的員工。

有了這些準則,您現在可以根據各種條件和邏輯運算符在 Power Apps 中有效地使用篩選器功能。

常見用例

過濾庫中的記錄

在 Power Apps 中使用庫時,您通常需要向用戶顯示記錄的子集。過濾圖庫中的記錄是一個常見的用例,您可以在其中應用過濾功能:

Filter(dataSource, searchCriteria)

此處,dataSource 指的是正在使用的數據源,searchCriteria 指定記錄在圖庫中顯示必須滿足的條件。

例如,如果您只想顯示庫中狀態為“活動”的記錄,您可以使用:

Filter(Projects, Status = "Active")

在下拉列表中過濾記錄

同樣,您可以使用 Filter 功能在下拉菜單中顯示特定記錄:

Filter(dataSource, searchCriteria)

例如,如果您有一個包含員工列表的下拉列表,並且您只想顯示具有“經理”頭銜的員工,則過濾器語法為:

Filter(EmployeeList, Title = "Manager")

根據用戶輸入過濾記錄

根據用戶輸入過濾記錄是一種向用戶提供定制信息的有效方式。當用戶在文本框中輸入他們的條件時,您可以使用 Filter 功能顯示相關記錄:

Filter(dataSource, searchCriteria = UserInput.Text)

例如,如果您有一個允許用戶根據關鍵字搜索項目的搜索框,則 Filter 函數將是:

Filter(Projects, TextSearchBox1.Text in Title)

此代碼將僅顯示包含用戶在項目標題中輸入的關鍵字的記錄。

故障排除和最佳實踐

常見錯誤

在 Power Apps 中使用篩選器功能時,您可能會遇到一些常見錯誤。這些錯誤通常可以通過遵循最佳實踐和了解潛在問題來解決。

  • 委派錯誤:當過濾器函數與另一個函數(例如 IF 語句)結合使用時,就會出現委派錯誤。要解決委派錯誤,請將內部函數移到過濾器函數之外,允許過濾器應用所需的標準而不受其他函數的干擾。
  • 不正確的表引用:確保在應用篩選功能時使用正確的表引用。仔細檢查您的表名並確保您正在使用的表符合過濾器指定的條件。

性能提示

要使用篩選功能增強 Power Apps 的性能,請考慮以下提示:

  • 優化客戶端操作:在使用過濾功能時,考慮對客戶端資源的影響。Group By、Filter By 和 JOIN 等操作會增加客戶端的 JavaScript 堆大小,從而導致性能下降。修改您的應用程序結構以減少這些操作對客戶端設備資源的影響。
  • 優化您的公式:在定義您的過濾器函數時使用精確的公式。您的條件越具體,Power Apps 處理記錄和顯示準確結果就越容易。
  • 邏輯文本:將邏輯文本與篩選功能結合使用,為用戶提供一種輕鬆瀏覽大量數據的方法。邏輯文本允許應用多個條件,確保顯示的記錄滿足所需的標準。

結論

總之,使用 Power Apps 中的篩選器功能,您可以優化和縮小在應用程序中呈現給用戶的數據,從而增強他們的體驗和效率。通過應用特定的公式和標準,您可以只顯示與用戶需求相關的必要信息或記錄。

請記住,此函數的工作原理是將數據源的每一行與給定條件進行比較。如果一條記錄符合設定的標準,它就會包含在輸出中,而那些不符合的記錄將被丟棄。Filter 函數的語法如下:

	過濾器(表格,公式 1 [,公式 2,...])

現在,讓我們深入研究一個真實世界的例子。

過濾器功能是該平台中最有用的功能之一,尤其是當您有大量數據需要處理時。它與我們在之前的教程中討論過的搜索功能非常相似。但是,如果我們讓他們在我們的應用程序中攜手合作,我們會得到最好的結果。

過濾器功能如何工作——真實世界的例子

要了解過濾功能的工作原理,讓我們先回到搜索功能的工作原理。

搜索功能基本上採用一個表、一個搜索字符串和您要搜索的列。

Power Apps 過濾器——它是什麼以及如何使用它?

過濾器功能做同樣的事情並將其提升到一個新的水平。

在詳細說明過濾器功能的詳細信息的Microsoft 文檔中,它說過濾器採用一個表進行搜索,還採用計算該表中每條記錄的公式。

Power Apps 過濾器——它是什麼以及如何使用它?

要理解這意味著什麼,讓我們看一下我們的數據源。

Power Apps 過濾器——它是什麼以及如何使用它?

因此,如果您使用搜索功能,它所做的只是接受特定的搜索詞並檢查此表中的給定列是否匹配。因此,如果您查找 Sonya,它會找到完全匹配的內容並將其顯示在圖庫中。在這種情況下,它將返回這條記錄。

Power Apps 過濾器——它是什麼以及如何使用它?

當涉及到過濾器功能時,它採用條件邏輯並針對錶中的每一行進行檢查。如果找到滿足給定條件的記錄,則返回該記錄。

使用過濾器功能的最佳方法之一是設置條件,使數據源中可能有多個匹配項。為此,我們必須創建一個允許我們這樣做的下拉列表(列名所在的位置)。

添加下拉過濾器

對於此示例,讓我們允許應用程序的用戶根據 VIP 級別篩選記錄。我們的 VIP 級別為 1、2、3、4 和 5。

Power Apps 過濾器——它是什麼以及如何使用它?

我們可以通過單擊“插入”功能區下的“輸入”來添加下拉列表。

Power Apps 過濾器——它是什麼以及如何使用它?

默認下拉列表似乎對於我們的空間來說太大了。好消息是與任何其他 Microsoft 平台一樣,可以通過單擊角落上的點輕鬆調整此類元素的大小。

Power Apps 過濾器——它是什麼以及如何使用它?

我們還可以更改顏色,使其與我們正在使用的主題相對應。

Power Apps 過濾器——它是什麼以及如何使用它?

現在,每個下拉列表中都有一個項目列表。

Power Apps 過濾器——它是什麼以及如何使用它?

要更改下拉列表中的項目,您需要做的就是轉到 Items 屬性並在方括號內鍵入所有項目。例如,您可以使用 hi、hello 和 bye 等詞。

Power Apps 過濾器——它是什麼以及如何使用它?

單擊 Enter 後,您將在下拉列表中看到這些詞。

Power Apps 過濾器——它是什麼以及如何使用它?

這一次讓我們來看看我們想要在我們的應用程序中出現的實際項目。除了第 1、2、3、4 和 5 級之外,我們還需要一個選項來選擇所有項目。所以讓我們從 All 開始,然後是 VIP 級別。

Power Apps 過濾器——它是什麼以及如何使用它?

一旦我們按下 Enter,下拉菜單中的項目現在將顯示我們添加的項目。

Power Apps 過濾器——它是什麼以及如何使用它?

使用過濾功能

如果我們在下拉列表中選擇一個條目,您會看到它還沒有執行任何操作。

Power Apps 過濾器——它是什麼以及如何使用它?

那是因為我們還沒有將 Filter 功能應用到我們的應用程序中。

因此,如果我們從下拉列表中選擇 1,我們希望畫廊中的項目僅顯示 VIP 級別 1 以下的項目。這意味著我們需要更改此公式,以便它執行該操作。

Power Apps 過濾器——它是什麼以及如何使用它?

Microsoft Power Apps的妙處在於,您可以在函數之上對函數進行分層。這意味著我們不必在此處擺脫現有的搜索公式。相反,我們可以將我們的過濾函數合併到這個現有的公式中。

我們的搜索功能已經在 Table1 中運行,因為它會查找在搜索字段中鍵入的搜索詞。這由 TextInput1.Text 表示。然後,它會在 FirstName、LastName 和 AgentName 列中查找該搜索詞。

Power Apps 過濾器——它是什麼以及如何使用它?

如果您以前使用過 Excel,您會注意到在 Power Apps 上使用篩選器的方法相同。

我們在公式的開頭添加 Filter,然後我們將使用 Search 公式作為第一個參數。

Power Apps 過濾器——它是什麼以及如何使用它?

Filter 通常查找的第一個參數是源或表,在這種情況下這是有意義的,因為它會在完成查找特定搜索詞後過濾我們用於搜索過濾器的同一個表。

一旦我們有了源,就可以添加條件邏輯或公式了。作為條件,我們希望 VIP 級別與從下拉菜單中選擇的任何內容相匹配。如果我們檢查左窗格中的元素,它表明我們正在使用 Dropdown2。

Power Apps 過濾器——它是什麼以及如何使用它?

所以我們將使用 VIPLevel = Dropdown2.Selected.Value。基本上,此公式查看搜索輸出並根據 VIP 級別下拉列表下的選定值對其進行過濾。

Power Apps 過濾器——它是什麼以及如何使用它?

因此,如果我們在下拉列表中選擇 2,它會過濾整個圖庫,並且只顯示 VIP 級別 2 下的條目。

Power Apps 過濾器——它是什麼以及如何使用它?

讓我們通過檢查我們的數據源看看它是否真的有效。我們畫廊中的第一個名字是 Daine Zamora。如果我們對照表格核對一下,我們會發現戴恩·薩莫拉確實屬於 2 級 VIP。

Power Apps 過濾器——它是什麼以及如何使用它?

將所有添加到過濾器功能

雖然我們的下拉列表適用於 VIP 級別 1 到 5,但如果我們選擇全部,它根本不會返回任何結果。

Power Apps 過濾器——它是什麼以及如何使用它?

那是因為根據我們創建的邏輯,它只查找 VIP 級別 1 到 5。此列下沒有 VIP 級別顯示為 All。

Power Apps 過濾器——它是什麼以及如何使用它?

要解決此問題,我們將添加一個 IF 語句,說明如果用戶從下拉列表中選擇全部,則無需應用此邏輯。如果用戶選擇除 All 之外的任何其他內容,則此邏輯仍將適用。

Power Apps 過濾器——它是什麼以及如何使用它?

所以我們的 IF 語句將是 If(Dropdown2.Selected.Value – “All”, true。這意味著如果選擇了 All,我們希望條件邏輯返回 true。然後,我們將添加 VIPLevel = Dropdown2.Selected.The value這樣,如果選擇了 All 以外的任何內容,它就會通過通常的過濾過程。

Power Apps 過濾器——它是什麼以及如何使用它?

如果我們嘗試一下並在我們的下拉菜單中選擇全部,您會看到它顯示了我們圖庫中的所有項目。

Power Apps 過濾器——它是什麼以及如何使用它?

但是如果我們從下拉列表中選擇 1,它會自動過濾整個畫廊,現在只顯示 VIP 級別 1 下的條目。

Power Apps 過濾器——它是什麼以及如何使用它?

現在,讓我們檢查一下搜索和過濾功能是否可以同時工作。

從下拉列表中選擇 1,讓我們在搜索欄中輸入 Zamora。如您所見,它不會返回任何結果。

Power Apps 過濾器——它是什麼以及如何使用它?

那是因為我們甚至不確定 Zamora 是否屬於 VIP 級別 1。所以讓我們在“全部”下嘗試使用相同的搜索詞。

Power Apps 過濾器——它是什麼以及如何使用它?

現在,它顯示了 Daine Zamora,這意味著過濾器和搜索功能都運行良好。


Power Apps 簡介:定義、特性、功能和重要性
Power Apps 環境:正確設置應用程序元素
Power Apps Canvas:如何從頭開始創建應用程序

結論

過濾器功能無疑將我們的應用程序提升到了一個全新的水平,尤其是在易用性方面。現在,用戶不必滾動瀏覽我們圖庫中的所有名稱。他們需要做的就是輸入搜索詞並相應地進行過濾。

我們在這裡看到的僅僅是個開始。一個屏幕上可以有多個過濾器,也可以有多個搜索欄。這完全取決於您擁有的數據量以及將記錄分組在一起的方式。

一切順利,

亨利

常見問題

什麼是查找功能?

查找功能與Excel中的vlookup或hlookup非常相似,基本上是用來查找其他數據源的信息。

什麼是電源平台?

Power 平台是 Microsoft 的低代碼或無代碼工具的集合。三個主要工具包括 LuckyTemplates、Power Apps 和 Power Automate。它們共同為用戶提供了轉換數據的強大動力。

什麼是畫布應用程序?

Canvas 應用程序是 Microsoft 的低代碼平台,允許用戶在拖放界面中創建應用程序。當然,有高級設置,但總的來說使用起來簡單直觀。

Power Apps 中的 ClearCollect 函數是什麼?

ClearCollect 函數刪除集合中的所有記錄;就這麼簡單。然後它將一組不同的記錄添加回同一個集合。在一個函數中,它可以清除然後收集,因此得名,並且在處理小型和大型數據集時都非常方便。

什麼是 PowerApps 庫?

您可以在本文中從當前用戶那裡了解更多關於它們的信息。

什麼是委派警告?

委派警告基本上是在您創建無法委派的公式時出現的警告。

什麼是 StartsWith 函數?

StartsWith 函數將測試單個文本字符串是否以另一個文本字符串開頭。對於這兩個函數,測試都不區分大小寫。您可以在此處閱讀更多相關信息


什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。

DAX Studio 中數據緩存的物化想法

DAX Studio 中數據緩存的物化想法

本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。

使用 LuckyTemplates 進行業務報告

使用 LuckyTemplates 進行業務報告

如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的