Power Apps

What is Microsoft PowerApps?

Power Apps is a Platform as a Service by Microsoft. It allows you to create professional Mobile App that runs on iOS, Android and Windows. No need to develop separate app for different platforms. In other words it takes care of the differences of different operating system software and makes apps much easier to use across mobile platforms.

Power Apps is primarily designed to develop an app for a business scenario. The target users are internal users. Due to licensing model, it is not suitable to develop an app for masses.

Power Apps is a less code and more power tool to develop self-service app. Developer is not required to have experience in programming languages (C#, Java, JavaScript, HTML, CSS, etc.). Developers concentrate on providing actual functionality. It reduces the development cost by one third as developed app will run on iPhone, Android and Windows phones without developing a separate app for each platform.

Power Apps allows you to connect with number of data sources, for example, Excel, Google Sheets, SharePoint, Common Data Service, SQL Server, Oracle, SAP, etc. Database can be on cloud or on premise. It also allows calling REST API using Power Automate, previously, Microsoft Flow.

App increases the productivity. First line workforce is no longer required to note down data on paper, come to office to enter data or send an Email or SMS or WhatsApp message to back office team to feed data in application software. Management team can see the summary reports without waiting for data compilation.

Ready to boost productivity and efficiency in your organisation?

Contact us today at app.team@grafixsoftware.com. Our expertise in data integration, understanding of data architecture and experience of building apps can help you to get a jump start.

Powerful use cases of Microsoft PowerApps

In a cut throat competition, enterprises are trying to reduce operational cost and at the same time want improved efficient system. For this, enterprises should work to automate repetitive and time-consuming tasks - that take up valuable time of key resources and first line workforce.

Some of the use-cases are listed below:


  1. Know Your Client (KYC)

    • Onboard new distributors, dealers, suppliers

    • Capture details and photos of documents

  2. Order Booking

    • Ideal for field employees visiting distributors, dealers

    • Top executive and supervisor can see up to minute consolidated sales figures

  3. Physical Stock Taking

    • Scan barcode and enter physical count

    • Take photo of damaged item

  4. Customer Support Center or Service Requests

    • Collect service requests for facility maintenance

    • Book, re-schedule or cancel appointments on behalf of customers

  5. Audit Service - Inspections and Reviews

    • Ability to capture photos, comments and data collected by its GPS

    • Useful for retailers, construction companies, facility maintenance companies and healthcare providers

    • Save printed papers

  6. Reimbursement and Expense Claims

    • Remote teams and field executives enter expense details along with attaching bills or receipts

    • Review, approve or disapprove claim and add comments

Ready to boost productivity and efficiency in your organisation?

Contact us today at app.team@grafixsoftware.com. We provide PowerApps services to companies of all sizes across industries. Our services include design, development, support and maintenance of applications.

Workaround for missing 'for' loop in PowerApps

In one of our app, we were required to dynamically create number of columns in a horizontal gallery. But PowerApps does not provide a loop control statement. We used a combination of ForAll and Collection to achieve the desired result. The pseudo code is as follows:

In App.OnStart property, write below code

ClearCollect(colLoop, {ndx: 1}, {ndx: 2}, {ndx: 3}, . . . , {ndx: 15}); // hard coded code executed only once

Now, the for loop to create N columns, write below code in the DropDownControl.OnChange property.

Clear(colColumns); // Clears the collection

ForAll(Filter(colLoop, ndx <= N), Collect(colColumns, {ColumnNumber: ndx}));

Finally, set the Gallery.Items property to: colColumns

The above 'ForAll( )' statement is equivalent to a 'C' language for loop

for(int ndx = 0; ndx < N; ndx++) {

colColumn[ndx] = ndx;

}