AppSheet Office Hours: Data Source Connections Featuring Google Drive Folders

Published on ‎02-18-2022 07:08 AM by Community Manager | Updated on ‎02-18-2022 07:10 AM

Making data accessible, useful, and actionable are key reasons we build apps. Typically, this requires a lot of engineering work, but with AppSheet, even those with no coding experience can create apps with data from a variety of sources - spreadsheets, SQL databases, and many more

In this month’s AppSheet Office Hours, we’ll provide an overview of the different data sources available to app creators, with best practices for scaling and managing each type. We’ll also walk through how to connect data from folders, featuring Google Drive. 

As always, you’ll have the opportunity to ask any questions and receive answers live from AppSheet experts.

Save your spot by selecting the "Yes" button on the right, and ask your questions in advance by posting a comment below.

With our new series of AppSheet Office Hours, it’s our goal to provide a trusted space where you can receive support and guidance along your app creation journey. We hope to see you there!

Meeting information



Featured Guests

Staff




Event has ended
You can no longer attend this event.

Start:
Thu, Mar 3, 2022 11:00 AM PST
End:
Thu, Mar 3, 2022 12:00 PM PST
26 Comments
Lauren_vdv
Community Manager
Community Manager

Hi everyone, thanks for joining this month's Office Hours! 

Here is the event recap, including the session recording, written questions and answers, as well as supporting documentation and resources, so you can refer back to them at any time. 

There were a few questions that we didn’t have time to get to on the call, but we did our best to respond to those in the recap post as well. If you have any further questions or if you don’t see yours included, please add a comment to the recap post and someone from the AppSheet team or the Community will be happy to help!

MarcosL
Bronze 5
Bronze 5

Creo que este artículo puede ayudar:

http://help.appsheet.com/en/articles/1726585-sequential-keys

Saludos. 

You are correct, this number process I have suggested is not suitable as a key, but is suitable as a visual reference, a search number or a label.

Have awesome day!

Glen

Victor_Galaviz
Bronze 1
Bronze 1

How can I create a consecutive number, which is not repeated? For example, for an invoice.

Hi, Victor, you can create a unique invoice number that increments as long as you don't set that invoice number as your key. Try this:

  1. Create an incremented number field. To test:
    • In Sheets, create a test sheet with a single record. In my test, I had a sheet called "Scratchpad" with fields for "ID, Base, ItemName" - where "Base" is the field that autoincrements.
    • Set the baseline value for your invoice numbers in the first record. In my test table, I set the value of "Base" to "10,000"
    • In AppSheet, add the Scratchpad invoices table to your app
    • In the AppSheet table, set the definition for the Base field to "MAX(Scratchpad[Base]+1" - now when you add a new record, it will autoincrement based on whatever the highest calculated value is in that field.
  2. Create a unique invoice number by concatenating AppSheet key and the incrementing Base field:
    • In the AppSheet "Scratchpad" table, create a Virtual Column and set that value to the syntax you prefer, e.g., "CONCATENATE([InvoiceNum],"-",[ID]). That guarantees a unique invoice. 
    • You also could create a field for a non-unique, pretty concatenation to be printed on the invoice itself, e.g., with the InvoiceNum and first four letters of the client. 

Tested on this end, and the numbering and concatenation work. Hoping this works or inspires a solve!

 

DMA2022_0-1646499710074.png

 

Hi Victor, there are several ways to do this. 

You can create a column in the sheet for "Invoice Number",and apply a simple expression: [_RowNumber] + 1 but if you do it this way, you can never delete a row, add a row or re-sort the sheet as you will shift the invoice number in some or all rows.

You can prevent this by placing the [_RowNumber] + 1 expression in the "Initial Value" input in Auto Compute, and adding an expression to "Update Behavior" settings in "Editable" :  ISBLANK(Reports[Incident File Number]) this prevents changes to the number once it has generated.

You still should never delete a row, as you will be now be missing an invoice number, which is frowned upon in accounting practices:) If an invoice is to be cancelled or voided, change values to zero and have away to indicate status as voided or cancelled.

This will prevent sync from changing the invoice number after initial creation. This will not work with a virtual column, you must add the "Invoice number" column to the sheet and regenerate the columns in Appsheet. This creates permanent storage for the initial invoice number.

Lastly, if you need the number to start at a certain value substitute the 1 in "+1" for the last invoice used number you want the app to start adding from.

Here is a screenshot of the column settings:

Glen_1-1646490346787.png

 

Hope this helps you.

Helo

UNIQUEID()
or
UNIQUEID("UUID")
ResurgeOils
Bronze 1
Bronze 1

1. It looks like we need to "pay" for Appsheets to deploy it with passwords, please confirm. (What I mean by this: if we pay for Google business services, and I want to deploy the appsheet access to an appsheet app I've created (viewing only) and require that user to be one of our existing google business users - do we pay extra above and beyond Google business?).

2. For Iphone users - do they have to download appsheet to access the app I've created or how does that work?

 

Dao_Hong_Tien
Bronze 4
Bronze 4

Hello everybody. I have 1 question

Is it possible for Appsheet to creat an app that used for thousands of users and they could sync or write update data to SQL server by this app. For example a retails chain that have thousands stores, everyday these stores sync or write all of their sales data to SQL server by this app. 

Melanie_Rodel
Bronze 5
Bronze 5

Hi! Thanks for hosting this!

I'd love to pull the contact data from the user's Google Workspace profile into my AppSheet app and keep it updated.

I have developed an inspection task tracking app with a simple "People" table. The ID in the people table is their email address. Additionally it lists their mobile phone, office phone, profile picture etc. It would be great if AppSheet could pull these data from the user's profile in Google Workspace: https://www.googlecloudcommunity.com/gc/AppSheet-Q-A/Fetching-Contact-Details-from-a-User-s-Profile-...

For context: I am using the "People" table for security filters. Also many more tables link to this table, e.g. to assign inspection tasks to people or people to inspection teams.

See you during the office hours!

josh_bruce
Bronze 1
Bronze 1

Thanks for hosting these! Will there be one about GCal integration? I've added GCal as a source to an app with an existing calendar built on a GSheet and have a behavior set up to add a GCal event when I add an event through the custom calendaring form, but I can't figure out how to update or delete GCal events through AppSheet. I get the following error: "Unable to add/edit/delete row in table 'GCal'. → The given key was not present in the dictionary."

ADEFE_EUROPA
Silver 1
Silver 1

Hello good mornig for everyone!
I don't see a way for that to work for me:

I want that simply when uploading an image in an Appsheet form, the URL of the image is inserted. And not the Google Drive address.

Use:

if(
isnotblank([Upload of Receipt]),
CONCATENATE(
"https://www.appsheet.com/template/gettablefileurl",
"?appName=", ENCODEURL(CONTEXT("AppName")),
"&tableName=", ENCODEURL(CONTEXT("Table")),
"&fileName=", ENCODEURL([Upload the Receipt])),
"")

It turns out that the result in the cell is that:
https://www.appsheet.com/template/gettablefileurl?appName=System-00000001&tableName=D%C3%8&fileName=

OBS.: I DO NOT GET THE NAME OF THE ARCHIVE CONCATENATED TO THE URL. I always have to edit the form once for the link to update.

QUESTION: Is there a more professional way to do that for large volumes of data? Thank you!!

takuya_miyai
Silver 5
Silver 5

I have a couple of questions.

What is the limit on the maximum number of records?

AppSheet often imposes a limit of 100,000 rows.
For example, when importing a sheet, if the sheet has more than 100,000 rows, an error will occur.

2022-02-25_06h58_55.png

However, if we import a sheet with less than 100,000 rows, and then increase the number of records to more than 100,000 rows, there is no problem in using the application.
After all, is this 100,000 row limit only on import?

Are there any plans to add user input fields in the Google Drive data source?

Currently, when we specify a file as a Google folder data source, only the metadata information of the file will be recorded.
Are there any plans to add user-modifiable columns in the future?
For example, if Description and Label values are available in AppSheet, it will be more extensible.

2022-02-25_07h24_53.png

Hatem
Bronze 1
Bronze 1
csmedberg
Bronze 1
Bronze 1

I am curious if there is anything current or coming up that would allow a creator to select a data storage location that is not where the data table is. ie.    Table 1(MySQL) -> Storage(G Drive),   Table 2(MySQL) -> Storage(Sharepoint)

mariomnzc
Bronze 1
Bronze 1

Inside of drive folder, select a google sheet, to search a value with scan barcode-qr function, if not found give an alert of not found , else give a ok alert and update. (This is to generate reports of inventory checkin).

Greetings from Chile.

Arnaud_Bouchera
Bronze 5
Bronze 5

Interested to hear about best practices around data management for dev/testing/QA before publishing new versions of the app, to separate the pre-production data from the production data.

Thanks!

Fabrizio_Mezzat
Bronze 1
Bronze 1

It would be great to be able to write data to a Google Sheet

SaoriSakai
Bronze 1
Bronze 1

I am creating a Todo list app with a repetitive task function.

I know how to automatically set the deadline after a few days, but is there a way to automatically set the deadline after one month, six months or one year?