How to generate a PDF from AppSheet's filtered view?

How can I generate a PDF in AppSheet using the platform's default search and filter functionality to capture the currently displayed, user-filtered data?

I'm currently working on an AppSheet application and have implemented the platform's default search and filter functionality to allow users to filter views based on their needs. Is there an option where, after filtering the data, users can generate a PDF of the filtered results directly from the current view.

Has anyone tackled this before? I'm trying to find a way that doesn't involve multiple steps or external integrations, aiming for a seamless user experience. Any advice or pointers would be greatly appreciated!

Islom_0-1692866466511.png

 

Solved Solved
0 18 4,839
2 ACCEPTED SOLUTIONS

So there are 2 ways I use, neither simple ๐Ÿ˜

Option 1

  1. Create an action that simply writes something to a normally blank & hidden column e.g. [Column]="flag"
  2. Create another action button that you can use to trigger a bot to run
  3. Create a bot with template start condition that pulls in all the items in the table where [Column]="flag"
  4. Add as the last item in this bot a action that clears the flag e.g. [Column]=""

So process will be -  user goes into view, filters list, clicks button to flag all records, navigates to and clicks action button to run bot

Option 2

  • Create a table called report
  • In this table add a column for each variable e.g. [County]
  • Make each column an ENUM with suggested values of TableName[County] or similar
  • Then create a virtual column called [Matching Records] with a formula something like:
Select(Table[TableID],AND(
[County]=[_ThisRow].[County],
...
...
)
)
  • This virtual column isn't strictly required but it will make testing this a whole lot easier for you
  • In the report table add an action button to trigger a bot
  • In the bot use something like
<<START: [Matching Records]>>

 Hope this helps

Simon, 1minManager.com

View solution in original post

For anyone still looking for a good way to solve this, I've had a YouTube video up for several years now that will walk you through how to solve this. 

Over the years I have found that it's best to create a dedicated table to perform this function, as AppSheet generally works better when it has a "thing" to work with when it's doing something. By building a report table, and generating a record in that when we want to make a report, AppSheet has a thing that it can work with and we can use as a central place for processing and whatever. (All explained in the video)

It's always depressing to me that these videos have been out for so long, yet nobody seems to be able to find the answers. ๐Ÿ˜ž The answers are literally right there, yet nobody finds them. Anyways....

Hope it helps! 

View solution in original post

18 REPLIES 18

So there are 2 ways I use, neither simple ๐Ÿ˜

Option 1

  1. Create an action that simply writes something to a normally blank & hidden column e.g. [Column]="flag"
  2. Create another action button that you can use to trigger a bot to run
  3. Create a bot with template start condition that pulls in all the items in the table where [Column]="flag"
  4. Add as the last item in this bot a action that clears the flag e.g. [Column]=""

So process will be -  user goes into view, filters list, clicks button to flag all records, navigates to and clicks action button to run bot

Option 2

  • Create a table called report
  • In this table add a column for each variable e.g. [County]
  • Make each column an ENUM with suggested values of TableName[County] or similar
  • Then create a virtual column called [Matching Records] with a formula something like:
Select(Table[TableID],AND(
[County]=[_ThisRow].[County],
...
...
)
)
  • This virtual column isn't strictly required but it will make testing this a whole lot easier for you
  • In the report table add an action button to trigger a bot
  • In the bot use something like
<<START: [Matching Records]>>

 Hope this helps

Simon, 1minManager.com

Thank you so much for your post. I'm trying to use the first option you mentioned.

For "Create a bot with template start condition that pulls in all the items in the table where [Column]="flag" " could you please give us an example of what would you write in the "Condition" field?

Thank you

Hello, may I ask if you already resolved this?

Yes, I did.

What option did you use sir? Option 1 or 2? Thanks.

I used first option

Does your Bulk Select action is working? it is possible to bulk select once i already filtered the view? Like the example you have provided.

Yes, it works, also it is possible to bulk select.

May i ask sir how to do that? I have searched work around related to bulk selection but when i try to bulk select data in the filtered view it will select all the record even though it is not of the filtered record.

Sure, I will provide you with details later

Thank you sir.

Hello, Have you provided details ? Where can I find them ? Thx.

Hello Islom,

I've been struggling with this issue for months, it seems more complicated than I thought. Would you be so kind and send me the details to solve this problem or send me some screenshots?
Thank you very much

Hi, I was reviewing my old post. I noticed that I did not answer to you(

If this still accountable, I can help)

BTC
Bronze 5
Bronze 5

I would be interested in knowing the process in detail. I have been struggling with this for some time. Thank you!

For anyone still looking for a good way to solve this, I've had a YouTube video up for several years now that will walk you through how to solve this. 

Over the years I have found that it's best to create a dedicated table to perform this function, as AppSheet generally works better when it has a "thing" to work with when it's doing something. By building a report table, and generating a record in that when we want to make a report, AppSheet has a thing that it can work with and we can use as a central place for processing and whatever. (All explained in the video)

It's always depressing to me that these videos have been out for so long, yet nobody seems to be able to find the answers. ๐Ÿ˜ž The answers are literally right there, yet nobody finds them. Anyways....

Hope it helps! 

Your approach using a dedicated report table makes the process so much clearer. Thanks a lot for sharing.

Works like a charm! Thx Matt!

Top Labels in this Space