What's the problem here?.... I have a table ...

(Michael) #1

What’s the problem here?..

I have a table that includes the following columns

Inspector Quarter Total Score (among other columns)

I setup a slice to with the following row filter: (Month(TODAY())/4) + 1=[QTR]

The intent is to filter all rows where the quarter is not the current quarter. When I test this, it works as expected. However, when I attempt to use this slice in any type of view, no data is returned.

The idea is to create a chart view that will return the avg score per inspector per quarter. Unfortunately, I’m at a road block that I can’t seem to get past. Any suggestions would be appreciated.

(Dinh Nguyen Nguyen) #2

@Michael To help us investigate the problem, could you provide us with the following information:

  1. The ID of the account that owns the app 2. The name of the app 3. The name of the slice in question 4. The names of the views that you have tested using the slice
(Michael) #3


285473 Snap Shot Current QTR Current_QTR

(Aleksi Alkio) #4

What value are you expecting from your formula as today?

(Michael) #5


The intent is to filter all rows where the [QTR] = the current quarter.

(Month(TODAY())/4) returns the current quarter .

Why is the result of division stored as an integer?
(Dinh Nguyen Nguyen) #6

@Michael Hi Michael, the reason why the chart has no data is because there is currently no row in the slice. To verify this, you can create a test table view that is hooked up to the slice, and this table view will have no row. After investigating, I believe this is actually the result of an inconsistency between the server and the app.

If you test the slice filter in the expression builder, you’ll see that there are rows that will be included in the slice. However, this test result comes from computations that are performed in the server. In the app, the slice filter will exclude all rows in the table when it is applied.

This inconsistency arises because the result of “Month(TODAY())/4)” is rounded to an integer value in the server, but is kept as a decimal value in the app. In the server, because this value is rounded, it is possible for the final result to be equal to the integer values stored in column [QTR]. In the app however, because the result is not rounded, the final result will be a decimal value and thus will never be equal to the integer values in column [QTR]. As a result, when the slice is evaluated in the app, no row is included in the slice.

This inconsistent rounding is something that is on our list of things to fix. In the meantime, you can work around this problem by modifying your slice filter as follows:

FLOOR((Month(TODAY())/4) + 1) = [QTR]

The FLOOR expression will round down a decimal value to the largest integer smaller than the decimal value itself. For example, 1.7 will be rounded down to 1. This should fix the problem.

(Michael) #7

@Harry Thank you for the very detailed explanation. Using your suggested expression has resolved the issue.