[Retired] Introducing Dimension Fill for Query Results

  • 17 October 2016
  • 15 replies

  • Anonymous
  • 0 replies

This is definitely something I’ve run into, it makes it hard to show people graphs by short time-spans over which there may be periods with no entries. But to be clear, this is not available yet? Only in Looker 4.0 when we have that? Definitely something I would like to see soon!

15 replies

Userlevel 5

Yep, this was introduced in Looker 4.0! Also, for the public record, we’ve got a list of all the goodies dropping in Looker 4.0 in the official notes.

Userlevel 1

We run into this issue constantly, so I am excited for this! Does this functionality extend to string dimensions as well?

Userlevel 1

Perfect, sounds like we’ll be able to add in some sql_case dimensions wherever we need this functionality. This would be a major improvement over our current process of using many permutations of filtered measures for every potential user filter.

Is there a way to do this filtered? For example, I tried to combine this with a date filter of ‘yesterday, 8 days ago, 15 days ago, …’ where I wanted to see the ‘0’ value for 8 days ago. Any thoughts on how to find the middle ground case for this?

Hi abbywest and Looker team,

I LOVE and appreciate this feature, but have run into a couple q’s while using it more recently.

First, why does Looker still fill dates even when I have set specific dates as a filter? Is this a known issue?

Eg if I set signup_date = yesterday, 365 days ago… I only want to see yesterday and the same day last year. But Looker autofills all of the dates between. I understand why this would make sense for a range, but not for specific dates selected in a filter.

Second, even if I turn off the autofill, if I change the other dimensions in a Look, the autofill re-sets. Also prob not the intended behavior?

Thanks so much for anything the team can do to take a look at these or suggest some workarounds!

Hey @Maya_Simon! Glad you’re making use of the dimension fill feature.

Seems like the first behavior you’re describing is probably intended, but pretty confusing. I’d be happy to talk to Product about this for you and see what they have to say.

As for the second example (auto-fill being on by default, and resetting when you change dimensions) that seems expected and intended. I can also talk to Product about this; basically, you’d prefer to be able to have the default setting for auto-fill either on or off?

Thanks so much for the feedback, looking forward to hearing back!

Hey @jonathon! Thanks for the follow-up.

On the second example, here’s what’s happening:

  1. Add both signup_date and signup_channel as dimensions

  2. Filter for signup_date to be = yesterday, 365 days ago

    [Now I’ve got 365 dates, by channel]

  3. Turn off date fill --> run

    [Now we’re down to 2 dates, by channel. YAY.]

  4. Remove signup_channel as a dimension --> run

    [Now all the dates have re-filled. Why? Clearly I set the filter, turned off fill on this date dimension, and didn’t change anything else about this date dimension specifically. I would expect it to retain the “fill = off” setting.]

The reason this is so painful is that for “Data Analyst” types, they are often pulling dimensions in and out to try to determine what’s relevant for the analysis. Having to constantly re-turn-off the date fill on the one dimension that ISN’T changing (date) is pretty frustrating.

Hey @Maya_Simon, Thanks for clarifying.

It turns out that this is the intended behavior, however, I understand that this can be frustrating. I am currently discussing the behavior with the product team.

Thanks again for giving us insight into your use case!

Is there any way to turn this off by default?

Userlevel 2

Hi @kyeohhubspot,

If you are on release 4.2+, then you can use the allow_fill: parameter for dimensions that you would like to not automatically fill. allow_fill: accepts a boolean value of either yes or no so for a quick example on turning off dimension fill try something like

dimension_group: created_at {
type: time
allow_fill: no
timeframe: [month, date, raw]
sql: ${TABLE}.created

One thing to keep in mind is that once you turn them off, then you won’t be able to toggle it on in the Explore UI if you wanted to see dimension fill. Once they are off, then they are off.



We want to allow fill on all dimensions, but the problem is that we want to turn it on “on-demand”, and not have every query fill missing dimensions.

Let’s say I have a Look that returns every-other-month - by default, Looker will fill in those missing rows. Is there an option to have the user click the options widget and turn it on, rather than having it turned on by default?

Userlevel 2

Ah, I see what you are saying. Right now it is not possible to have it defaulted to off and then allow the end user to turn it on whenever they seem fit. I can, however, loop in my Product team about this.



I concur that it would be better if it was off as default. Do you know if it causes a performance impact on the SQL if users forget to turn it off and don’t actually need it or is it all done in the UI?

Userlevel 5

Hi @Simon_Swan, your feedback is noted.

Dimension fill is not performed in the SQL, only on the front-end, so it should have no impact on the database!

Userlevel 1

I strongly disagree - dimension fill is great, please do not make it off by default. It would be ok if there was a general setting to make the default on or off, but on by default is better for almost everything I do with Looker.