Ref columns used with slices from the same table

I’m currently trying to make an overgrown app sync more quickly by consolidating more-or-less redundant tables in the Google spreadsheet. On the AppSheet side, I’m using slices from the same table for different views. So far, this seems to have the desired effect of greatly speeding up my sync times. I have one problem though. I can’t seem to get ref columns to work between slices if there is only one table in the Google spreadsheet. I suspect that this simply isn’t possible, as linking two slices from the same table wasn’t the original idea of a ref column, but I’d like to double check. In order to get ref columns to work, do I need to have two different tables in the spreadsheet or can views based on different slices from the same table be linked via ref?

By the way, I know how to connect views based on different slices from the same table via actions. It’s just that the ref connection has a different appearance that I was hoping to take advantage of without creating a separate table.

Also, when ref columns don’t work, the AppSheet editor doesn’t do much to help a confused user like me understand what’s wrong. Everything seems fine until you actually test out the app itself and see that there you don’t have a link where you were hoping to have one. I’ve found this to be frustrating in the past too.

Any number of views and/or slices can refer to the same table or slice.

Thanks for your response but I think my question was a little different. Will ref columns work to connect views built off the same table? I tried but I couldn’t get it to work. Perhaps I did something wrong.

What does “connect views” mean?

1 Like

Perhaps I’m just confused by the terminology. I’m having trouble getting ref columns to do what they are supposed to do. I think I’d like to retract my question about ref columns between views based on different slices from the same table. Now I’m trying to do something more conventional and I’m still having trouble. What I’m trying to do is use a virtual column ref to allow the user to navigate to another view. I can’t for the life of me figure out what the blue arrow doesn’t appear. Everything seems to be the same as the app on which it is already working but, as I say, I can’t replicate it on the very similar app I’m working on now. Is there a guide to debugging ref column problems? I’m go back to the documentation to check for myself but if you have any ideas I’d appreciate it. In my experience, ref columns are easy and very useful when they work but when something goes wrong and they don’t work, debugging can be hard.

Dear @Steve and friends,

I finally figured out what I was doing wrong. It has to do with the slice. When I make actions myself, I know that I have to include them in the slice but it took me a while to figure out that the system generated ref actions also had to be added to the slice by hand. I hope I’ve finally learned my lesson but, for others, it would be great if some method could be found to get the editor interface to automatically assist confused people (like me) with debugging. :frowning:

For example, a message like “You’ve added a ref action. Would you like it to be include it in such and such slice?” would be nice for beginners – and slow learning old guys like me.

2 Likes

@Kirk_Masden Don’t feel bad @Mike had the same problem yesterday.

2 Likes

Thanks! What makes matters worse is that I had read that thread and it still didn’t sink in that I was having the same problem for quite a while. Actually, I think part of the problem for me was that “ref” columns were always just columns in my mind. Today it finally sunk in that even though I build refs by editing columns in a table, in fact what I’ve done is make AppSheet build an action for me and that I have to treat as a separate entity. Come to think of it, ref columns precede actions in AppSheet history (I remember when actions were a new thing). I think the fact that we have to treat system generated actions more-or-less as though we had built them manually is what tripped Mike and me up. Thanks again! :slight_smile:

1 Like

@Kirk_Masden - I share your pain. Just when I think I am understanding the nuances, I do something silly and it shakes my confidence and understanding. It’s kind of like playing golf. Two steps forward and one step back. Got to love the journey!

The truth is, the idea of “no-code” does not mean “no logical discipline or data models required”.
Once you create any kind of table, slice, or action dependencies, you suddenly realize you have a bit of a fragile environment that can be broken very easily. In my view, Appsheet has done an incredible job giving the citizen developer the power to imagine and adapt on the fly. The deployment, versioning, and rules checking tools are actually very good. The weak points for me tend to be the “help” approach, where I do think expression syntax can be a bit odd and the help resources weak, and the lack of tools to easily check configuration settings across Tables, Views, Slices, Actions, etc.

I posted a couple of threads here, but not sure where this sits in priority compared to other feature developments. (ps: wish we could see the backlog – or at least a general but not guaranteed roadmap!)

Thankfully we have the helping hands of people like @Lynn, @Aleksi, @LeventK, @Steve and the rest of the Appsheet team to help us through, and the high touch engagement is a real differentiator. The big challenge is… this will not scale, and either the learning route needs to be focused on, or the customer focused engagement will decrease - just based on volume.

Hang in there @Kirk_Masden, and just enjoy the learning journey!! :slight_smile:

Appsheet rocks!

3 Likes

Thanks @Mike, @Lynn, @Steve and all for your patience and encouragement on this thread. At the risk of telling you all what you already know, I’d like to report on a little trick that this all led me to hit upon.

I realized that we can use the ref style link to very flexibly to go just about anywhere in the app. Here’s how:

  1. Cause a system generated View Ref action to be created by making a ref column. The destination doesn’t matter. Any convenient table will do.

  2. Copy the resulting View Ref action.

  3. Replace copied View Ref target, which is not editable in the system generated action but is now editable in the copied version, with the link of your choice – say LINKTOROW(“Key_row”, “MyFavoriteView”).

  4. Go to the slice and select the newly copied View Ref action, not the system generated one.

It worked like a charm for me. Actually, a while back I tried to lobby AppSheet to add this kind of capability – I didn’t realize that it was already possible. :slight_smile:

5 Likes

@Kirk_Masden, this is indeed a cool trick. Could you please add it to the tips and tricks community section? Thanks.

2 Likes

Thanks! I’ll play with it a little bit more and then do that. I’m glad you like it. :slight_smile:

2 Likes

Here it is:

Since I last wrote here, it has occurred to me that, once copied, the ref actions can become any kind of action! Pretty cool!

1 Like

Is there a sample app that we can look under the hood?

Hi @CCT111! Welcome to the forum.

I’m not sure if this is the best one in this case but this sample app shows how to do reference actions:

https://www.appsheet.com/samples/This-app-shows-how-to-use-reference-actions?appGuidString=e76d2e73-3d26-475c-a8f8-9911f5015920

You could try adding or substituting inline actions with this. Good luck!