DEV Community

Cover image for Analyze a Travel Dataset with Claude and Flexmonster Pivot Table
Daria Filozop
Daria Filozop

Posted on

Analyze a Travel Dataset with Claude and Flexmonster Pivot Table

I recently discovered you can build a fully working Flexmonster pivot table right inside a Claude chat, no project creation, no npm install, and so on. The article used generated mock data, which is fine for a demo, but I wanted to try its functionality more. So I found Worldwide Travel Cities (Ratings and Climate) on Kaggle, which contains travel info for 560 different cities. So, as you probably guessed, it’s the dataset that I will use as an example in this article. It became the base of my project, and the outcome surprised me. Keep reading, I promise it's worth it :)

 

Step 1: The Kaggle Plot Twist 🧱

Being honest, my first idea was to just ask Claude to fetch the dataset straight from the Kaggle URL. That didn't work because Claude's artifact sandbox only allows outbound requests to a small list of scripts (jsDelivr, unpkg, cdnjs, esm.sh), and Kaggle isn't on it. Even if it were, Kaggle downloads require you to be logged in, so I knew it wouldn’t work.

The actual fix that helped me: download the CSV from Kaggle and upload it straight into the chat. One thing worth knowing before you do: a bigger file eats up the conversation's context, so it's worth trimming the CSV down to the columns you actually need before uploading, rather than dropping in the whole raw export.

Here’s the prompt I used:

Embed Flexmonster pivot table in the Claude artifact using the data from the
CSV I've uploaded, do not generate mock data.

Load the CSS from "https://cdn.jsdelivr.net/npm/flexmonster/flexmonster.min.css",
load the script from "https://cdn.jsdelivr.net/npm/flexmonster", and set
componentFolder: "https://cdn.jsdelivr.net/npm/flexmonster/" in the config.
Set the report type to pivot (not flat), and configure the slice: rows =
Region, Country; columns = Budget Level; measure = average of Wellness rating.
Set the pivot container's height to 550px.
Enter fullscreen mode Exit fullscreen mode

Pivot table

After a few seconds, Claude generates a working Flexmonster pivot table right inside the chat using the uploaded dataset.

However, worth mentioning: it runs in trial mode, so there's a watermark on the grid, which is expected, since it's the unlicensed build.

 

Step 2: Cleaning Up The Numbers 🔢

Seems like too many digits after the comma? Definitely agree. So, I suggest just customizing it. All that is needed is to ask Claude to clean up the formatting:

Format all measure values to display exactly one decimal place.
Enter fullscreen mode Exit fullscreen mode

Formatting

 

Step 3: Filtering 🏆

Okay, 560 countries, feels like too much info. Probably it’s time to apply filtering. Naturally, the first thing I wanted to know was: which countries are the best-rated for wellness? So, I’d like to ask for a top-100 view.

By the way, Flexmonster already supports filtering through its UI, but I wanted to see if Claude could configure the report for me. Instead of manually applying a filter, I simply described the result I wanted:

Show only the top 100 countries by average Wellness rating.
Enter fullscreen mode Exit fullscreen mode

Filtering

 

Step 4: Visualizing It With a Chart 📊

Numbers in a grid are fine, but I wanted to actually see which destinations were pulling ahead, so I asked for a built-in chart synced to the report:

Visualize the current Flexmonster report with a built-in pivot chart.
Display a bar chart based on the current report.
Keep the chart synchronized with the pivot table, so any changes to the report are reflected automatically.
Place the chart below the pivot table.
Enter fullscreen mode Exit fullscreen mode

Charts

 

Wrapping Up 🎒

Full dashboard

Developers love discovering ways to test robust enterprise components without the friction of creating a new project, managing server dependencies, or running npm install. Moving from a simple mock-data demo to a real-world dataset gives your piece immediate, practical value.

Honestly, I don’t see this approach as a proper replacement for a production analytics application, but it’s an excellent way to build a quick prototype, test reporting ideas, or explore a dataset before investing time in a full project.

If you have a CSV you’d like to analyze, give it a try. Upload your dataset, describe the report you want, and keep refining it through prompts. In just a few minutes, you can turn raw data into an interactive report worth exploring.

I’d love to hear about your experiments, so leave a comment below and share your feedback! :)

Top comments (0)