Help

Unable to reproduce expression statements in the Vega-Lite block

Topic Labels: Extensions
2343 9
cancel
Showing results for 
Search instead for 
Did you mean: 
Felix_Fabich
6 - Interface Innovator
6 - Interface Innovator

I’m unable to reproduce Vega-Lite code, which works in other editors (example). In Airtable I just get an error message for the now() statement:

"scale": {"domain": [{"expr": "now()"}, "2021-09-09T00:00:00"]}

with error message: Incorrect type. Expected “null”.

Is this a bug in the app or am I doing something wrong?
Screenshot 2021-02-12 at 16.49.23

9 Replies 9

I always assume I’m doing something wrong because in almost 100% of the cases I am. :winking_face:

I think you’ll need to change this to an actual field in your table that expresses the Now().

Felix_Fabich
6 - Interface Innovator
6 - Interface Innovator

I’m not sure whether it is a bug or not. It could also be that this block uses an old version of Vega-Lite.

BTW, it’s not only that the expressions don’t work. Also the layers don’t work as expected. This is really a pitty, because it prevents users from creating nice dashboards in Airtable. (Yes, i checked my code in an external Vega-Lite editor.)

Yes, I could solve the expression problem of Now() by adding an actual field. But I would like to keep my base as lean as possible and put all calculations into the Vega-Lite blocks.

Hmmm. Layers seems to be working fine for me in this example.

Felix_Fabich
6 - Interface Innovator
6 - Interface Innovator

Now you make me curious…

I observed that I can use ‘layer’ only, if I delete this line:

"$schema": "https://vega.github.io/schema/vega-lite/v4.json",

Does that make sense to you? Would you have a small example using layers, that works for you in the Vega-Lite app?

Following up on my previous post:

Here I made a mini example where the property ‘layer’ is not allowed.
Screenshot 2021-02-17 at 16.52.58

After deleting the first line I get:
Screenshot 2021-02-17 at 16.53.16

Very strange because my examples include the schema line and include layers and seem to work fine.

image

A quick peek shows that your “layer” property is inside the “encoding” property group. Looking at what @Bill.French shared, I believe that it’s supposed to be up a level.

Disclaimer: this is coming from someone who has never touched Vega-Lite. I’m just looking at the structure alone.

Good eye. That would certainly explain the schema connection behavior.

Dear Bill, dear Justin,
thanks a lot for your feedback. I feel these questions are quite specific, so I really appreciate your feedback!
I will play around with the position of the layer statement and get back within the next few days.