question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Describing data loaded into SandDance Explorer

See original GitHub issue

Currently we are loading data through the mounted callback, calling load on the Explorer component and passing an array of objects.

It’s clear that SandDance has some default logic for how to describe data; string values are categorical, numbers are quantifiable, etc. Additionally, I imagine that SandDance does things like encoding the string values into numbers in order to speed operations.

However, in loading the data ourselves, we probably have (or can store/extend) metadata about our data to assist SandDance in this (as well as correct any false assumptions).

As an example, if we have rows of data, like so:

{
    id: 1,
    description: 'some thing',
    otherId: 4,
    category: 'car'
}

In this case, we know the following:

  • id is unique, it’s self categorizing
  • description is unique (let’s assume) and a numeric representation is already encoded in id
  • otherId is categorical, not quantitative, and we shouldn’t allow aggregates on it
  • category is categorical, and needs an encoding for it

That said, I see that there is a Column type in the TypeScript declarations which has some of that data (as well as min/max values, etc.). I also see that there is a DataContent interface which has the data and Column types exposed, and this looks promising.

The question is, are there options for us to actually help SandDance explorer with this decision, or are these default assumptions the only choice we have?

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:1
  • Comments:8 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
danmarshallcommented, Dec 27, 2019

Actually the callback can optionally return an Insight object, which tells it how to render a chart. For an example of this object, you can call explorer.viewer.getInsight() to see the params of the current chart view.

0reactions
casperOnecommented, Jan 6, 2020

@danmarshall Apologies, I did see that; we may try that; we have it working for now, setting the values on the Insight, so no need to trim it. I see the fix of the TS definitions as nice-to-have and not a blocker.

We may use that call for other things, however, so thank you for showing there is more than one way to approach the issue.

Read more comments on GitHub >

github_iconTop Results From Across the Web

SandDance - Microsoft Research
Visually explore, understand, and present data. SandDance is a web-based application that enables you to more easily explore, identify, and communicate insights ...
Read more >
SandDance for Azure Data Studio - MS SQL Tips
In this tip we look at how to use SandDance a powerful data visualization tool that is an extension to Azure Data Studio....
Read more >
SandDance: Titanic
This tour will help you get started exploring and finding insights in your data with SandDance. To follow along, perform the action as...
Read more >
msrvida/sanddance-explorer - Microsoft Open Source
@msrvida/sanddance-explorer. Visually explore, understand, and present your data. image. Demo - API Reference. Installation. Add these to the dependencies ...
Read more >
Chris Webb's BI Blog
A few weeks ago my colleague Dany Hoter wrote a post on the Azure Data Explorer blog about how using columns on fact...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found