Help

Welcome to the Airtable Community! If you're new here, check out our Getting Started area to get the most out of your community experience.

Unable to reproduce expression statements in the Vega-Lite block

Topic Labels: Extensions
1032 9
cancel
Showing results for 
Search instead for 
Did you mean: 

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().

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.

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.