My wits have been fried spending countless hours on a solution but can’t seem to get it to work so any help I would be so grateful!
I am experiencing persistent issues in setting up an effective filtering system in AppSheet to correctly link Texting records to the proper Job ID in my app. My goal is to ensure seamless messaging integration, where each Texting record is accurately associated with its respective Job based on a Composite Key (e.g., combining Job ID and Client ID). However, I am encountering two main problems:
- Filtering All Rows or None at All:
• Attempts to filter records by Composite Key or Job ID often result in either all rows from the Texting table being returned or none at all, without a clear middle ground that accurately reflects the desired rows. I have tried various filter conditions and slice setups, including direct comparisons, LOOKUP functions, SELECT statements, and ANY functions, but have not achieved the expected results.
- Dashboard Context and Row Context Challenges:
• When using these filters within a dashboard context, the row context does not seem to be passed reliably between views. I suspect this may be related to limitations in how AppSheet handles virtual columns and context in a dashboard setup, but despite adjusting conditions to account for this, I have not found a stable solution.
• I have also experimented with making Job ID a Ref to the Jobs table and using direct Job ID matches, but the filter conditions either overfilter or underfilter, failing to show only the intended Texting records related to the currently selected Job.
Current Setup:
• Texting Table: Includes Job ID, Composite Key (Physical) (a concatenation of Job ID and Client ID), and Message ID (primary key for each message).
• Jobs Table: Contains Job ID, Client ID, and a corresponding Composite Key (concatenating Job ID and Client ID).
Objective:
I need guidance on setting up a filter condition or a reliable structure that:
• Filters Texting records to display only those that correspond to the Composite Key and Job ID of the selected job, ideally within a dashboard context.
• Avoids showing unrelated Texting records for other Job IDs or Composite Keys.
Any insights into best practices or AppSheet-specific limitations with filtering and dashboard context would be greatly appreciated, as I’ve encountered consistent challenges with this setup.
I currently am testing two different slices with no luck.
Slice 1 (Interface) - ISNOTBLANK(
SELECT(
Texting[Message ID],
[Composite Key] = [_THISROW].[Composite Key]
)
)
Slice 2 (Composite) - AND(
[Job ID] = LOOKUP([_THISROW].[Job ID], “Jobs”, “Job ID”, “Job ID”),
[Composite Key (Physical)] = LOOKUP([_THISROW].[Job ID], “Jobs”, “Job ID”, “Composite Key”)
)







