My name is Jacob. I am a rising junior majoring in Computer Science at Georgia Institute of Technology. I love to play soccer and read stories, which may seem a bit different from the stereotypical programmer who sits inside all day. Although, that’s not to say that I don’t do that often as well.
When I first joined AppSheet as a software development intern for the summer, I thought that I’d be jumping straight into writing code. Or maybe just getting people coffee, like a stereotypical internship. I’m sure that this is quite understandable. However, the first task that I was given was to become an “expert” in AppSheet: to know the ins and outs of the product I’d eventually be working on. I even took notes on my first impressions.
At this point in time, I like to think that I’ve become semi-competent in creating apps with AppSheet from any data set, although I probably have missed a few niche features and “hacks” that a more experienced member of the AppSheet team would know.
So, without further ado, here are a few tips and tricks that I have for new app creators, based on my written first impressions of AppSheet, and things I saw frequently in the AppSheet Google+ community.
To be frank, the expressions can be a big hassle to understand and learn. But it’ll definitely be easier if you have prior experience with spreadsheet formulas.
My advice here is to search around on the AppSheet documentation, YouTube videos, and webinars to learn and understand how certain functions work. Once you learn how to use the functions, you’ll be able to make your app behave like you want quite easily.
In my time here at AppSheet, I’ve helped a few people with writing expressions for their apps.
One good expression that I wrote calculates the number of weekdays between two given dates. This could definitely be useful for other people so I’ll leave it here:
1 + ((HOUR([End] - [Start]) / 24) * 5 - (WEEKDAY([Start]) - WEEKDAY([End])) * 2) / 7 - IF(WEEKDAY([End]) = 7, 1, 0) - IF(WEEKDAY([Start]) = 1, 1, 0)
I have not been able to test all cases for this expression but it’ll work for most, if not all, cases.
A different situation came up where an app creator wanted to have an expression to check if the user was editing or creating a new row. There was a very simple hack that I came up with to do so:
ISBLANK([Column]) or ISNOTBLANK([Column])
Basically, the logic behind this was that if a user was creating a new row, the [Column] would be blank, as nothing had been saved into it yet, as opposed to when editing a row, in which case there would be a value already there.
“How can I filter my data?” This question has been asked a lot. People also ask things along the lines of “Is it possible to only show certain information to specific users?” and “Can I show only these rows if x condition is true?”
Security filters are the answer to that first question—they’re the method you should use to filter your data for different user groups. To use security filters, go to Security > Security Filters in the Editor. Here, you can add a security filter that filters what information is sent to the user’s phone, based on an expression. This expression generally uses the USEREMAIL() function, which returns the currently logged in user’s email, and compares it to an email field in your spreadsheet to determine which rows are accessible by the current user. You can get a lot fancier with your expression, but that is the gist of filtering in AppSheet.
As I mentioned, the security filter makes it so that only certain information is sent to the user’s device, which is a great practice with sensitive data.
The other way to filter data is through slices. Slices allow you to show only certain rows or columns based on a particular condition, which answers the third question. You can find slices by going to Data > Slices in the Editor.
Slices filter what data is shown in a certain view. You can put an expression to check against (e.g. [Vistors] > 1000) and it would show only the data that matches the criteria in the slice. You can then go to your UX > Views tab and choose to show the slice’s data instead of the whole table in a view. In doing so, you’re basically just taking a “slice” of a set of data to display, thus the name.
Workflow and Reports
I have to admit, I’m not very knowledgeable on this topic. I barely brushed over how to use it and I don’t really understand how to make custom workflow templates yet.
However, workflow and reports, which can be found in the Behavior tab of the Editor, are great tools for app creators.
You can use workflow to:
It is a very versatile feature which many people could make use of in their apps.
Like many features in AppSheet, you can create an expression for limiting when to send the notification, which can be an email, an SMS message, or a push notification. You can also choose which users should receive these notifications.
All in all, AppSheet is a no code platform that you can learn to use regardless of what your technology background may be. You don’t need to know anything about programming languages to be able to use AppSheet to create a beautiful app. However, it still is a tool that you need to learn how to use. There are many things to discover about AppSheet that would make your app function much better.
My suggestion is to learn how to use expressions effectively. If you can do that, it opens up many more features that you can use to the fullest.
If you have any questions, please, head over to the AppSheet documentation or the AppSheet Community. You’ll probably find your answer in those locations. If not, just ask a new one on the community or contact support.
If you have a new feature that you want to request, head on over to the feature request app that we created. Make sure to check if your request is not already in there.