Regenerate columns not working

I have a recurring issue with a query. I make an api query the following results:

{
"Product Title": "Cabernet Sauvignon Finish Bourbon Whiskey",
"Product Description": " Straight bourbon whiskey finished in Cabernet Sauvignon barrels.\n",
"Sub-header": "Cabernet Sauvignon Finish",
"Color": "Mahogany with Red notes",
"Nose": "Cherry, Grape and Chocolate",
"Palate": "Black cherry, blackberry, caramel, vanilla and cinnamon ",
"Finish": "Lengthy warm finish filled with peppercorn and raspberries"
}

When I use the "Regenerate Columns" button within retool, it does not pick up the Color, which you can see here:
image

In a previous query, it would not pick up the value for Finish, and it would pick up the value for Color. Does anyone have any ideas why this might happen?

Hi there @ppperkins,

Yes I've noted this behavior as well, and not sure what causes it.

My ways of working around it are:

  • Remove the primary key and click again on Regenerate columns
  • Select another data source, regenerate and then go back to the target data source
  • If nothing works the I willl just add a column manually and select the data source for that given column.

Hello @ppperkins!

Did any of @MiguelOrtiz's work arounds work for you?

That is very odd that the table was able to map over all the values besides one (being either Finish or Color)...

My best recommendation is the last one from Miguel, manually adding the column title and picking the data source for the column will always work.

Hi Jack, I appreciate you following up. I deleted that implementation and solved it a different way using a smaller requirement set. It has happened several times with different queries and components, so I believe that there is a backend issue within retool. As our system complexity increases, I am noticing a significant increase in the number of components that start to product unpredictable outcomes.

Thank you for the information!

Glad to hear you found a workaround. That is very odd behavior for the column mapping. I will try to reproduce the issue with the same object you had above.

What did the table look like before you regenerated the columns? Was the table using a different data source/format with differing columns by chance?

Could you provide more details on the components that have been producing unpredictable outcomes and what those outcomes were? Would love to help you fix those issues and get to the bottom of if they are bugs we can fix!

I deleted the old implementation, so I cannot provide exact details. There are two issues that seem to be recurring as the system gets more complex.

1.) There are times when it will not identify a field. I tried regenerating columns and adding those columns manually. I also tried using javascript to reformat the data to see if the component would recognize the field when in a different format, such as JSON. In a different query using the same field from the database, it will recognize the field when accessed by a different table component.

2.) There have been a few times when I've pulled data from Airtable and Retool appears to add a space into the string. It will have a format of something like "750ML" when I receive the results of the query. When I load it into a drop down, it shows up as "750 ML". It always added the space between the number and the characters, which was weird.

Thank you for all the feedback!

The regenerating columns can be hit or miss, hard to pin down why some are not picked up. Usually JSON is the best format for the parser, with manual set up being the tried and true fallback when needed. That is very odd that different tables are able to recognize the field properly but the original table was not.

Will try to repro the air table space adding bug as that should not be the behavior for a string.

Hi @ppperkins I tried to duplicate the spacing inside of strings (issue2) that you mentioned but it didn't add the spaces.

Let me know if I was missing anything, this is how it looked in Retool

With my Airtable set up as seen below, let me know what I might be missing in trying to reproduce this!

Not sure about the table not recognizing/identifying a field, if you are able to consistently reproduce the behavior I would love to take a look during our office hours