Microsoft PowerApps simplifies app creation with templates, connectors, and third-party apps. Its popularity among developers is due to its ability to perform CRUD operations and support most data sources, including on-premises. This article describes how to delete multiple records in PowerApps using Remove function.
Problem
Let’s take an example of an employee and department table.

how to delete all the employees belonging to a department using Remove function when the user clicks the ‘Delete All’ button in a department grid.

Solution : Delete multiple records in PowerApps using Remove function
1. Open the PowerApps canvas app in edit mode.
2. Select ‘Delete All’ button and click on Advanced properties on right side pane.
3. Use the below expression on the ‘OnSelect’ property.
Collect(
collect_employees_tobe_deleted, Filter('employee',department_id = Value(var_department_id))
);
ForAll(
collect_employees_tobe_deleted As A, Remove('employee', LookUp('employee', employee_id= A.employee_id));
);

Collect Employees to be Deleted
The first line of code utilizes the Collect function to create a collection named collect_employees_tobe_deleted. This collection will store the employee records that belong to the department specified by the var_department_id variable.
Here’s the breakdown of the Collect function:
collect_employees_tobe_deleted: This is the name of the collection to be created.Filter('employee', department_id = Value(var_department_id)): This is the filtering criteria used to select the employees to be deleted. It filters the'employee'table based on thedepartment_idfield, selecting only the records wheredepartment_idmatches the value of thevar_department_idvariable.
Remove Selected Employees
The second line of code utilizes the ForAll function to iterate through the collect_employees_tobe_deleted collection and remove each employee record from the 'employee' table.
Here’s the breakdown of the ForAll function:
collect_employees_tobe_deleted As A: This defines the variableAthat will hold each employee record from thecollect_employees_tobe_deletedcollection as it iterates through the collection.Remove('employee', LookUp('employee', employee_id= A.employee_id));: This line removes the employee record corresponding to theemployee_idvalue of the currentAvariable from the'employee'table. TheLookUpfunction retrieves the employee record based on theemployee_idvalue.
In summary, this code first collects all employees belonging to the specified department and then removes each of those employees from the 'employee' table. This effectively removes all employees from the specified department from the data source.
Pro tips:
1. If you want to migrate your PowerApps canvas app from one environment to another, you can refer to this article.
See more
Kunal Rathi
With over 14 years of experience in data engineering and analytics, I've assisted countless clients in gaining valuable insights from their data. As a dedicated supporter of Data, Cloud and DevOps, I'm excited to connect with individuals who share my passion for this field. If my work resonates with you, we can talk and collaborate.
