# \[Solved\] Spreadsheet query

**URL:** <https://community.thunkable.com/t/solved-spreadsheet-query/286894>\
**Category:** Questions about Thunkable X\
**Tags:** solved\
**Created:** [October 24, 2019, 2:08pm UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894 "2019-10-24T14:08:49Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![jasepielli](https://avatars.discourse-cdn.com/v4/letter/j/85f322/32.png) [@jasepielli](https://community.thunkable.com/u/jasepielli)\
**Post date:** [October 24, 2019, 2:08pm UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/1 "2019-10-24T14:08:49Z")

</div>

Do you have plans to implement spreedsheet SQL queries like GetRowsWithConditions?  
I am looking for a fusiontables like storage for my app that I have implemented in MIT AppInventor.  
 ![image](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/3/a/3a4095ec31139db392f06b65f0af9ceaad3125d1.png)

---

<div class="post-metadata">

**Author:** ![kartik14](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/kartik14/32/44782_2.png) [@kartik14](https://community.thunkable.com/u/kartik14)\
**Post date:** [October 24, 2019, 2:30pm UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/2 "2019-10-24T14:30:00Z")

</div>

Hi, @jasepielli 👋  
**Welcome to our Community 🎉 🎉**

If you are looking for some spreadsheet-like database, **[Airtable 🔗](https://docs.thunkable.com/spreadsheet)** is available for Thunkable X.

Personally, I prefer Airtable 🙃  
It’s a simple to use, secure DB.

Thanks 😊

---

<div class="post-metadata">

**Author:** ![jasepielli](https://avatars.discourse-cdn.com/v4/letter/j/85f322/32.png) [@jasepielli](https://community.thunkable.com/u/jasepielli)\
**Post date:** [October 24, 2019, 2:48pm UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/3 "2019-10-24T14:48:30Z")

</div>

I am using Airtable and that article is how I set it up.  
Do you have an example screenshot of the Thunkable X block with a row select with condition?  
Thanks for your response.

---

<div class="post-metadata">

**Author:** ![actech](https://avatars.discourse-cdn.com/v4/letter/a/3d9bf3/32.png) [@actech](https://community.thunkable.com/u/actech)\
**Post date:** [October 24, 2019, 8:59pm UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/4 "2019-10-24T20:59:48Z")

</div>

Instead of queries used to filter the data.

![%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/0/2/02a9b75b992686551b5ba59e32dc4dcc1464a8e6.png)

---

<div class="post-metadata">

**Author:** ![domhnallohanlon](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/domhnallohanlon/32/29554_2.png) [@domhnallohanlon](https://community.thunkable.com/u/domhnallohanlon)\
**Post date:** [October 25, 2019, 1:51am UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/5 "2019-10-25T01:51:28Z")

</div>

Alternatively what you can do is create a new table in your base and do the queries/filtering Airtable-side.

If you’re just doing simple functions then it might be enough just to put them in their own column?

---

<div class="post-metadata">

**Author:** ![Mark](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/mark/32/18133_2.png) [@Mark](https://community.thunkable.com/u/Mark)\
**Post date:** [October 25, 2019, 8:02pm UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/6 "2019-10-25T20:02:23Z")

</div>

> [@domhnallohanlon](#):
>
> Alternatively what you can do is create a new table in your base and do the queries/filtering Airtable-side

You can also create a new, filtered, view of the same table and use that.

All that said, I would also suggest also making a feature request to add filtering to the Spreadsheet component. You can do that [here](https://github.com/thunkable/thunkable-issues/issues/new/choose).

-Mark

---

<div class="post-metadata">

**Author:** ![Michael\_Rogulla](https://avatars.discourse-cdn.com/v4/letter/m/ba8739/32.png) [@Michael\_Rogulla](https://community.thunkable.com/u/Michael_Rogulla)\
**Post date:** [March 24, 2020, 12:00am UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/7 "2020-03-24T00:00:18Z")

</div>

Hi @Mark and other interested parties,

I believe that this question has not yet been resolved. Views are a great way to filter data, but as far as I know, the views do not work dynamically, they only deliver static filtering / sorting.

Have a look at my issue:

> <https://github.com/thunkable/thunkable-issues/issues/439>
>
> Airtable is a great way to deliver data from an online database. There is no way to dynamically filter the data...

---

<div class="post-metadata">

**Author:** ![domhnallohanlon](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/domhnallohanlon/32/29554_2.png) [@domhnallohanlon](https://community.thunkable.com/u/domhnallohanlon)\
**Post date:** [March 29, 2020, 5:09pm UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/8 "2020-03-29T17:09:21Z")

</div>

@Michael_Rogulla Jared had more info on filtering Airtable data here:

> [@Airtable tutorial](http://community.thunkable.com/t/airtable-tutorial/531535):
>
> Working with airtable can be confusing. This sample app features: Filtering and viewing data Dynamically changing the filter Find a row number Pull specific info from a cell in a row Updating 1 cell inside a particular row Adding Rows Deleting Rows Remix Link: [https://x.thunkable.com/copy/15949b2e4aec44fe2eb7fd1a72c47414](https://x.thunkable.com/copy/15949b2e4aec44fe2eb7fd1a72c47414) [UPDATED LINK] Live Web App: [https://thunk.app/w/bbHuW-EAv](https://thunk.app/w/bbHuW-EAv) An explanation of how to build this app will be posted on my website sometime this week along with the w…

Perhaps that’s what you’re looking for?

---

<div class="post-metadata">

**Author:** ![Michael\_Rogulla](https://avatars.discourse-cdn.com/v4/letter/m/ba8739/32.png) [@Michael\_Rogulla](https://community.thunkable.com/u/Michael_Rogulla)\
**Post date:** [March 29, 2020, 7:50pm UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/9 "2020-03-29T19:50:58Z")

</div>

Hi @domhnallohanlon, thanks for the reply. The tricks that @jared implemented in his app are known to me. I suggest another approach, I want to get the result from a filtering from airtable directly. Let me try to explain the difference:

- let’s say we have in airtable a list of all restaurants in the US
- you want to show in your app restaurants located in for example San Francisco.
- you say, I have to download the whole list and apply a filter (with a loop)
- I would like to have a function that says “get all rows from that list of restaurants only in San Francisco” instead of getting all rows and filtering away what you do not want to know.

The first function “get the row where [column “abc”] contains [“value”]” is helpful with linked fields, because one has to look for the \_id very often.  
The second function “get all rows where […]” is also very helpful, just have a look at all those applications with a SQL-Database in the background.

See my issue #439: [https://github.com/thunkable/thunkable-issues/issues/439](https://github.com/thunkable/thunkable-issues/issues/439)

---

<div class="post-metadata">

**Author:** ![jared](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/jared/32/138473_2.png) [@jared](https://community.thunkable.com/u/jared)\
**Post date:** [April 10, 2020, 7:58pm UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/10 "2020-04-10T19:58:16Z")

</div>

Hi @Michael_Rogulla,

I accomplished this task today using the Airtable API.

using the URL located in teh CURL,

 ![Screen Shot 2020-04-10 at 3.43.45 PM](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/b/9/b9afd2bedf0433fee7516347af38aadb2a76fb83.png) ![Screen Shot 2020-04-10 at 3.43.41 PM](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/c/8/c807dba472de28f1170f64e5c402f676a3f492fa.png)

i add those into the property designer

 ![image](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/b/a/ba8d944ade9258033ae620c3e9bb1b28416b8d10.jpeg)

i use the URL up the question mark  
I add a parameter of filterByFormula and use the quickchart formula to filter by an email

then for the header put Authorization as the property and the value is “Bearer YOURKEYHERE”

i checked the response with this  
 ![Screen Shot 2020-04-10 at 3.43.07 PM](https://us1.discourse-cdn.com/flex015/uploads/thunkable/original/3X/5/0/503ae1c1d4d730a909d6c958eb936581f03d9928.png)

i will be addin gthis feature into my app. let airtable do the fitltering. save performance on the app/phone

the next step is to add that parameter in dynamically using the text join block and in my case the userID blcok. I also want to add a second filteryBy parameter like name = ‘email’ & cell2 = ‘SomethingElse’

---

<div class="post-metadata">

**Author:** ![Michael\_Rogulla](https://avatars.discourse-cdn.com/v4/letter/m/ba8739/32.png) [@Michael\_Rogulla](https://community.thunkable.com/u/Michael_Rogulla)\
**Post date:** [April 11, 2020, 1:16pm UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/11 "2020-04-11T13:16:47Z")

</div>

Hi @jared,

this is übercool. I am speechless.

---

<div class="post-metadata">

**Author:** ![jared](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/jared/32/138473_2.png) [@jared](https://community.thunkable.com/u/jared)\
**Post date:** [April 11, 2020, 1:26pm UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/12 "2020-04-11T13:26:41Z")

</div>

The only thing to be concerned with is pagination. If the filter returns more than 100 records you need to set up a way for the app to retrieve al records. When getting filtered results, airtable only returns 100 results at a time. Then you have to request the next 100 and again and again if there are hundreds of filtered results.

---

<div class="post-metadata">

**Author:** ![Michael\_Rogulla](https://avatars.discourse-cdn.com/v4/letter/m/ba8739/32.png) [@Michael\_Rogulla](https://community.thunkable.com/u/Michael_Rogulla)\
**Post date:** [April 15, 2020, 6:58pm UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/13 "2020-04-15T18:58:14Z")

</div>

Hi @jared . For my next project I could use it for user management:

- do the basic authentication with the component “Sign In” in Thunkable, validate the LogonID.
- after authentication, get the credentials from airtable with “filterByFormula={Name}=LoginID”.

This is much simpler than getting **all** users from an airtable and search for one LogonID.

Thanks again!

---

<div class="post-metadata">

**Author:** ![Michael\_Rogulla](https://avatars.discourse-cdn.com/v4/letter/m/ba8739/32.png) [@Michael\_Rogulla](https://community.thunkable.com/u/Michael_Rogulla)\
**Post date:** [May 13, 2020, 8:31am UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/14 "2020-05-13T08:31:22Z")

</div>

Hi @jared,

would you please be so kind and test your app again?

- two weeks ago, the approach with “filterByFormula” worked perfectly. I defined a web\_api, added a Query-string in a **block** and executed the “web\_api get…”. The results were filtered.

Today I am not sure if I make a mistake:  
– when I change the query string in a block, I get unfiltered data from airtable (all records). This is **not** what I want and it worked before.  
– when I put the query string into the “query parameters” section in design modus, the results are filtered, as expected.

Maybe thunkable changed anything? Could you check before I open an github issue?

---

<div class="post-metadata">

**Author:** ![Apps\_a\_medida](https://avatars.discourse-cdn.com/v4/letter/a/f4b2a3/32.png) [@Apps\_a\_medida](https://community.thunkable.com/u/Apps_a_medida)\
**Post date:** [May 14, 2020, 5:35pm UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/15 "2020-05-14T17:35:39Z")

</div>

Hello everyone, I have a question … how to delete rows in data source? doesn’t have that block … thank you.  
This option is also not in db\_local

---

<div class="post-metadata">

**Author:** ![dhm.thacker1](https://avatars.discourse-cdn.com/v4/letter/d/8c91f0/32.png) [@dhm.thacker1](https://community.thunkable.com/u/dhm.thacker1)\
**Post date:** [June 17, 2020, 7:21am UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/16 "2020-06-17T07:21:55Z")

</div>

Could you please share the blocks…i am not able to call the data from the json…

---

<div class="post-metadata">

**Author:** ![ioannis](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/ioannis/32/146956_2.png) [@ioannis](https://community.thunkable.com/u/ioannis)\
**Post date:** [November 8, 2024, 11:25am UTC](https://community.thunkable.com/t/solved-spreadsheet-query/286894/17 "2024-11-08T11:25:41Z")

</div>


