Iโm having a problem where I have a slice thatโs returning multiple records when you click on View Data and returning the correct records as TRUE when I test the underlying formula but only one record is appearing in a Table view using the slice. Any thoughts or is it a bug?
Solved! Go to Solution.
Just a quick note to say this bug has now been corrected by AppSheet and the fix is being rolled out progressively to accounts.
Are the values in the tableโs key column all different?
Yes they are. It really looks like a bug to me. For example, this formula works and returns all records;
IF(ISBLANK(ANY(SELECT(Dashboard Filter[Status],[User Email]=USEREMAIL()))),TRUE,CONTAINS(โQuote, Pending, Booked, Lost, On Holdโ,[Status]))
but this formula only returns one;
IF(ISBLANK(ANY(SELECT(Dashboard Filter[Status],[User Email]=USEREMAIL()))),TRUE,CONTAINS(ANY(SELECT(Dashboard Filter[Status],[User Email]=USEREMAIL())),[Status]))
where ANY(SELECT(Dashboard Filter[Status],[User Email]=USEREMAIL())) is a text based EnumList field that equals โQuote, Pending, Booked, Lost, On Holdโ
Both formulas show the correct number of records when you โView Dataโ in the slice and both produce the correct results when you test the formula but the second formula only produces one record in a table view based on the slice.
This:
SELECT(Dashboard Filter[Status], ...)
produces a list of Status column values from rows of the Dashboard Filter table that match the selection criteria (...
).
This:
ANY(SELECT(...))
produces the first item in the list produced by the SELECT() expression. The result is not a list unless the first Status column value is itself a list.
Would the Status column value of a single row of the Dashboard Filter slice contain the entire literal text, Quote, Pending, Booked, Lost, On Hold
? Or would it contain just one of the values in that list?
See also:
Sorry I should have mentioned, the slice is pulling records from an underlying table called โJobsโ. The [Status] field at the end of the expression relates to the โJobsโ table which has many records that satisfy the criteria. There is only one record being sought from the โDashboard Filterโ table, hence the ANY(), which is an EnumList called [Status] which has the value of one or more selected text options, in this case, โQuote, Pending, Booked, Lost, On Holdโ that is recorded against the userโs e-mail (so that each user has their own filter). So basically, Iโm finding โJobsโ records that have a [Status] contained in the EnumList string in โDashboard Filterโ. If I hard code that text string it works in the Table View. The formula also works when I โView Dataโ in the slice but only shows one record in the Table View. Thatโs why I think it may be a bug. Thereโs no filters on the Table View that could change what the slice is producing and as I said, hard coding the string makes the Table View retrieve all records and yet โView Dataโ in the slice produces the correct list of records from the โJobsโ table in both cases.
It could indeed be a bug, then. I encourage you to engage support@appsheet.com to report it and hopefully get a fix.
Thanks Steve.
Just a quick note to say this bug has now been corrected by AppSheet and the fix is being rolled out progressively to accounts.
User | Count |
---|---|
40 | |
35 | |
30 | |
23 | |
17 |