Comments (2)
You can most likely implement this directly yourself. If you want to create a CSV file stored on your local server:
- Get the query for the (filtered) table you want
- Use that query to issue a new query that writes a CSV file
For example:
import { coordinator } from '@uwdata/vgplot';
// get query for Mosaic client, filtered according to any filterBy selection
const query = client.query(client.filterBy?.predicate(client));
// write CSV file for table to local server (will likely not work with WASM)
const csvQuery = `COPY (${query}) TO 'query.csv' WITH (HEADER 1, DELIMITER ',')`;
await coordinator().exec(csvQuery);
Note that I haven't tested the above. It might be possible to get something similar to work against DuckDB-WASM but you'd have to investigate what (if any) CSV export options DuckDB-WASM provides. Alternatively, you might instead use coordinator().query(query)
and then convert the resulting Arrow table to whatever output format you want:
import { coordinator } from '@uwdata/vgplot';
// get query for Mosaic client, filtered according to any filterBy selection
const query = client.query(client.filterBy?.predicate(client));
// get arrow table for query
const data = await coordinator().query(query);
// ...now use JS to convert arrow data to your desired output format
A different approach would be to get the current data table from a client, then map that to CSV yourself using JS methods. For example, most vgplot marks store their data as client.data
. However, different clients may differ in how they do (or do not) expose their data and this may be subject to change over time, so this is not a reliable approach.
from mosaic.
Incredibly helpful -- thank you so much Jeff!! Will do 🙏
from mosaic.
Related Issues (20)
- Local parquet file not found Quarto-Observable HOT 1
- Arrow extension error HOT 1
- DuckDB - can it be replaced with other databases at the server? HOT 4
- Trying to reproduce flights-10m.js example using MDX HOT 5
- Selection of `NULL` values does not work
- Why Node.js ?
- How to add a `y=x` line?
- Highlight interactor does not work properly with data cube indexing HOT 1
- Feature request: confidence intervals for bar charts HOT 1
- Docs don't make it obvious that `vgplot` exports everything
- Feature request: box-and-whisker plots HOT 3
- Support web-standards platforms for the data server HOT 1
- How do you filter data in a particular plot? HOT 1
- Enable the `castTimestampToDate` option for duckdb-wasm? HOT 1
- Examples have hidden setup HOT 2
- cannot parse/access json response of query: Bad escaped character HOT 3
- Add struct/list support for load query options.
- Need to refresh page to update Mosaic plot - non-deterministic behavior HOT 2
- Expose a handler in data-server package HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mosaic.