# Solutions to “Just KNIME It!” Challenge 8 - Season 4

**URL:** <https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910>\
**Category:** JKI Season 4\
**Created:** [July 2, 2025, 2:12pm UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910 "2025-07-02T14:12:10Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![forum](https://forum-cdn.knime.com/user_avatar/forum.knime.com/forum/32/77398_2.png) [@forum](https://forum.knime.com/u/forum)\
**Post date:** [July 2, 2025, 2:12pm UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/1 "2025-07-02T14:12:10Z")

</div>

💥 We’re back for another week of _Just KNIME It!_ 💥

✈ Let’s explore some data wrangling techniques to understand how loyal airline customers are distributed across different demographic segments. Who are the most loyal customers and how are they segmented in different locations?

[Here](https://www.knime.com/just-knime-it) is the challenge. Let’s use this thread to post our solutions to it, which should be uploaded to your public [KNIME Hub](https://hub.knime.com/) spaces with tag **JKISeason4-8**.

🆘 **Need help with tags?** To add tag JKISeason4-8 to your workflow, go to the description panel in KNIME Analytics Platform, click the pencil to edit it, and you will see the option for adding tags right there. 😊 Let us know if you have any problems!

---

<div class="post-metadata">

**Author:** ![andre\_carva](https://forum-cdn.knime.com/letter_avatar_proxy/v4/letter/a/3d9bf3/32.png) [@andre\_carva](https://forum.knime.com/u/andre_carva)\
**Post date:** [July 2, 2025, 4:35pm UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/2 "2025-07-02T16:35:21Z")

</div>

Here is my solution to the challenge:[JKISeason4-8 – KNIME Community Hub](https://hub.knime.com/s/K06j9agHjrCD9YOY)

 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/1/2/12a4f0d0c325224654bf324dc7c8c981bfe1139f.png)

 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/1/9/196c0576d72b2b49eeb3e7815158ce6a818b65ec.png)

---

<div class="post-metadata">

**Author:** ![trj](https://forum-cdn.knime.com/user_avatar/forum.knime.com/trj/32/17643_2.png) [@trj](https://forum.knime.com/u/trj)\
**Post date:** [July 3, 2025, 1:21am UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/3 "2025-07-03T01:21:54Z")

</div>

Hi all,

Nice challenge allowing us to play with other type of visualizations, such as the Choropleth Map component.

Solution here: [JKISeason 4-8 - Airline Customer Loyalty – KNIME Community Hub](https://hub.knime.com/s/gRe9-NjJ8iDuoAlN)

In this one, I am reading the data, grouping the flight history and joining with customer data. Then removing the customers that cancelled their loyalty membership.

I calculate the loyalty score using a simple formula in which we can specify weights (e.g., number of flights are more important). This is not using config nodes, but directly within the expression node - this could be improved. Values are normalized before calculation.

 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/1/b/1b77252abae991c019011d62213b354fed5af349.png)

And Choropleth Map component always improve dashboarding.  
The visualization allows the user to filter the number customer we want to keep (based on the loyalty score, best first).

 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/9/d/9d50b975f82bce36ac19fa59072a64fa4ac25b30.png)  
 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/2/1/21dc5993ddc71500b37f682f51dc88fa67d02b13.png)

Enjoy all!  
Cheers  
Jerome

---

<div class="post-metadata">

**Author:** ![hanantoprabowo](https://forum-cdn.knime.com/user_avatar/forum.knime.com/hanantoprabowo/32/80064_2.png) [@hanantoprabowo](https://forum.knime.com/u/hanantoprabowo)\
**Post date:** [July 3, 2025, 1:46am UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/4 "2025-07-03T01:46:14Z")

</div>

Hi everyone,

Here’s my submission for this week’s challenge: [JKISeason4-8 – KNIME Community Hub](https://hub.knime.com/s/8TCCkMZlq4fp4Amz)

**Data Preparation**  
I filtered out customers who are no longer enrolled and calculated a loyalty score using a weighted combination of normalized CLV and normalized accumulated points.

**Data Visualization**  
Users can select different fields to explore the data and view the top 10 most loyal customers, ranked in descending order by their loyalty score.

 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/9/c/9cf14f39c83b25019829d32d49949b055c780548.jpeg)  
 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/c/5/c55247369c9adf1edd9233cf4ebfb7724e3c2d5b.jpeg)

Wishing you all a great day 🌞!

---

<div class="post-metadata">

**Author:** ![PVergati](https://forum-cdn.knime.com/user_avatar/forum.knime.com/pvergati/32/79686_2.png) [@PVergati](https://forum.knime.com/u/PVergati)\
**Post date:** [July 3, 2025, 9:49am UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/5 "2025-07-03T09:49:49Z")

</div>

Hey BRO,  
I just had a chance to explore your submission — fantastic job! 👏 Your visual storytelling is incredibly clear, and that geo-mapping analysis added a whole new dimension I haven’t quite dared to explore yet myself. 🌍

While reviewing your Loyalty Score formula, I noticed you included both `total_flights` and `flights_with_companions`. Just wanted to share a small perspective I picked up during my process: in the dataset, `total_flights` is the sum of `flights_booked` and `flights_with_companions`, so I realized that including both `total_flights` _and_ its components might unintentionally overweight that particular metric.

Of course, context and assumptions matter — and your approach still delivers solid insights. I’ve genuinely learned a lot from the way you presented the data, especially with those elegant visuals!

Thanks for the inspiration — let’s keep pushing each other forward! 💡🚀

keep KNIMING IT  
Pierp

---

<div class="post-metadata">

**Author:** ![arief\_rama](https://forum-cdn.knime.com/user_avatar/forum.knime.com/arief_rama/32/82032_2.png) [@arief\_rama](https://forum.knime.com/u/arief_rama)\
**Post date:** [July 3, 2025, 11:12am UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/6 "2025-07-03T11:12:26Z")

</div>

Hi KNIME’ers 👋 🙂

This week’s challenge was super exciting: a Canadian airline wants to understand **who their most loyal customers are**. ✈🇨🇦

To solve it, I applied the **RFM Analyst** method — a powerful way to segment customers based on **Recency** , **Frequency** , and **Monetary (or Points)**. 📊📌

 ![Screenshot 2025-07-03 at 18.08.53](https://forum-cdn.knime.com/uploads/default/original/3X/3/4/3495d0db0aeadc47f7725322f54dcd04fd069cb0.jpeg)

> **[JKISeason4-8 arief\_rama – arief\_rama](https://hub.knime.com/arief_rama/spaces/Public/JKISeason4/JKISeason4-8%20arief_rama~g_xMFgPpHkTMqk_S/current-state)**
>
> Challenge 8: Airline Customer Loyalty Level: Easy Description: You work for a Canadian airline company that wants to better understand its most loyal customers…

---

<div class="post-metadata">

**Author:** ![PVergati](https://forum-cdn.knime.com/user_avatar/forum.knime.com/pvergati/32/79686_2.png) [@PVergati](https://forum.knime.com/u/PVergati)\
**Post date:** [July 3, 2025, 1:23pm UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/7 "2025-07-03T13:23:57Z")

</div>

What an inspiring geo-journey, solution WOW 👏 👏 !  
Your mastery of the Geospatial extension is nothing short of monumental—each insight more dazzling than the last.  
🌍✨ I especially loved the way you layered customer clusters with a sunburst; it’s like watching a data-driven blockbuster unfold.

One tiny (and admittedly nit-picky) footnote: don’t forget that there’s a London in Ontario, too—not just the one across the pond! 😉

Thanks for sharing such a polished walkthrough—your work keeps raising the bar for all of us in the KNIME community.  
Looking forward to your next geo-masterpiece! 👏🚀…

P.S. These challenges are starting to feel like a full-time gig—now I really need to hustle to finish mine!

---

<div class="post-metadata">

**Author:** ![Soybeans0000023](https://forum-cdn.knime.com/user_avatar/forum.knime.com/soybeans0000023/32/79798_2.png) [@Soybeans0000023](https://forum.knime.com/u/Soybeans0000023)\
**Post date:** [July 3, 2025, 6:18pm UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/8 "2025-07-03T18:18:29Z")

</div>

> **[JKISeason4-8\_Sawyer\_Wilson – soybeans0000023](https://hub.knime.com/soybeans0000023/spaces/Public/JKISeason4-8_Sawyer_Wilson~rZUyTVhc95DPGneb/current-state)**
>
> Solutions for data science: find workflows, nodes and components, and collaborate in spaces.

My solution to this weeks challenge (I used points accumulated to rank loyalty):

 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/8/3/83339ed750e3fc722eb5678915a30903ee331061.png)  
 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/6/0/609a39d70e3df48f2fd65301bf848d89f186a553.png)  
 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/b/5/b50d0359ce0a34bb6776e74b16284545c18e7b70.png)  
 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/c/e/cea6a5b64ed050eaf4fd954b95b0e257947ac852.png)

---

<div class="post-metadata">

**Author:** ![trj](https://forum-cdn.knime.com/user_avatar/forum.knime.com/trj/32/17643_2.png) [@trj](https://forum.knime.com/u/trj)\
**Post date:** [July 4, 2025, 12:38am UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/9 "2025-07-04T00:38:23Z")

</div>

Hey @PVergati  
Thanks for your message! You always have nice words.

Agreed, my formula can (needs to) be improved - this metric might be overweighted.  
It depends also on the rules of the company - what about if the company cares about the overall engagement (volume of travel, total\_flights) and wants to reward group travels (flights\_with\_companions)? Just thinking out loud.

Hope you will be ready to publish soon!

Cheers  
Jerome

---

<div class="post-metadata">

**Author:** ![arief\_rama](https://forum-cdn.knime.com/user_avatar/forum.knime.com/arief_rama/32/82032_2.png) [@arief\_rama](https://forum.knime.com/u/arief_rama)\
**Post date:** [July 4, 2025, 2:52am UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/10 "2025-07-04T02:52:13Z")

</div>

Thanks a bunch, @PVergati 😄

Really appreciate the kind words, it totally made my day!

And yep, you got me 😅 I totally missed that there’s a London in Ontario too. Thanks for pointing it out so nicely! I usually squeeze these challenges in between other stuff I’m working on, so sometimes the details slip past me.

Can’t wait to see what you come up with this week, let’s keep having fun with these challenges!

Happy KNIME’ing from Jakarta 👋 🙂 🇮🇩

---

<div class="post-metadata">

**Author:** ![PVergati](https://forum-cdn.knime.com/user_avatar/forum.knime.com/pvergati/32/79686_2.png) [@PVergati](https://forum.knime.com/u/PVergati)\
**Post date:** [July 4, 2025, 12:59pm UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/11 "2025-07-04T12:59:21Z")

</div>

**Airline Customer Loyalty – My KNIME Solution** ✈🧩

Finally I succeded to complete my solution (I’m working too much in this period 😅).  
I’m excited to share my solution for profiling most loyal flyers:

[My solution to JKISeason4-8](https://hub.knime.com/pvergati/spaces/Public/JUST%20KNIME%20SEASON%204/JKISeason4-8/Challenge%208-Airline%20Customer%20Loyalty~57ytO_ucuyyiBekN/current-state)

1. **Data Filtering**  
• Removed “cancelled” customers by checking  
– `Cancellation Year/Month` **not missing** → disqualified  
– missing dates = still active, kept in analysis  

2. **Tenure Score**  
• Calculated months since **Enrollment Date** via → normalized to [0,1]  
• Longer-tenured customers generally show stronger loyalty

3. **Loyalty Card Multiplier**  
• Mapped card tiers (`Aurora`→1.00, `Nova`→1.10, `Star`→1.25) with **Rule Engine**

4. **Global Loyalty Score**  
Combined eight normalized indicators in a **Math Formula** :  

```auto
(0.25 * CLV +
 0.10 * Tenure_Score +
 0.20 * Flights_Booked +
 0.10 * Flights_with_Companions +
 0.10 * Distance +
 0.10 * Points_Accumulated +
 0.07 * Points_Redeemed +
 0.08 * DollarCost_PointsRedeemed)
* Card_Weight

```

1. **Loyalty Tiers**  
Segmented via **Rule Engine** :

```auto
≥ 0.80 → “Top Tier”
≥ 0.60 → “High Loyalty”
≥ 0.40 → “Medium Loyalty”
else → “Low Loyalty”

```

Icons added for clarity: 👑, 💳, 🎫, 🐢  
6. **Geospatial Visualization**  
• a quick overview of results (Nr of customers and Global Loyalty Score by province)

 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/9/4/94ea7812edd24999a3d100794fc31e488fd9001f.jpeg)

• **An interesting TIP** I don’t know if someone already noticed it but I discovered that “Newfoundland” must be “Newfoundland and Labrador” to geocode correctly—turns out place names can be trickier than booking codes! 😅

 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/4/b/4be9cf8c54f084e5c04186752200252ec6d0dfe0.png)

Some screenshots of the visuals but other colleagues made stunning and very inspiring visuals.

 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/8/5/85cca16d1115f7594643948ff44d34fc5dcd1d3c.jpeg)

 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/e/8/e8ad99d90a118ac698b05ecf8c4308d8860bf9f3.jpeg)

 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/6/c/6c55adea94819a6cf50ad23372959a0891693702.jpeg)

## Thanks to @trj , @arief_rama, @hanantoprabowo for the brain storming

I’m still mastering KNIME’s map tools, so if anyone has tips for handling duplicate place names (hello, US cities with the same name!), I’d love to learn your approach. Let’s keep sharing ideas and refining our loyalty models together! 🚀🤝

---

<div class="post-metadata">

**Author:** ![jproudfoot111](https://forum-cdn.knime.com/letter_avatar_proxy/v4/letter/j/7bcc69/32.png) [@jproudfoot111](https://forum.knime.com/u/jproudfoot111)\
**Post date:** [July 4, 2025, 6:11pm UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/12 "2025-07-04T18:11:08Z")

</div>

> **[JKISeason4-8 – jproudfoot111](https://hub.knime.com/jproudfoot111/spaces/Public/JKISeason4-8~Qt3DNzaCwapziJK3/current-state)**
>
> Solutions for data science: find workflows, nodes and components, and collaborate in spaces.

 ![JKI4-8](https://forum-cdn.knime.com/uploads/default/original/3X/5/b/5b68a65d317fcc2d63f762c0d06dd0138c963042.jpeg)

One of the cool features of KNIME is the ability to repurpose old workflows.  
Wanted to map the customer locations and some standard tries to get the geocordinates failed - with mapping of some of the cities to strange non-Canadian locations. Ended up using the AI query component from an earlier challenge to pull them.  
As an aside, I really wanted to map the postal codes but could not do this from any open source.

Also used the AI ML component from an earlier challenge to try and identify key features for Loyal and not-Loyal customers (ie the one’s who cancelled). This gave length of membership and points earned as key categories - not surprising.

The visualization needs some more work but enough is enough!

---

<div class="post-metadata">

**Author:** ![garcbcpa](https://forum-cdn.knime.com/user_avatar/forum.knime.com/garcbcpa/32/74679_2.png) [@garcbcpa](https://forum.knime.com/u/garcbcpa)\
**Post date:** [July 4, 2025, 8:46pm UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/13 "2025-07-04T20:46:18Z")

</div>

Hello team,

Here is my solution to this week’s challenge:  
[JKISeason4-8](https://hub.knime.com/s/_eFCUB5RXBezNgGB)

I enjoy seeing the other workflows on this challenge to learn new creative/clever ways to solve problems.

---

<div class="post-metadata">

**Author:** ![rfeigel](https://forum-cdn.knime.com/letter_avatar_proxy/v4/letter/r/7ea924/32.png) [@rfeigel](https://forum.knime.com/u/rfeigel)\
**Post date:** [July 5, 2025, 1:24am UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/14 "2025-07-05T01:24:47Z")

</div>

Here’s my solution. It produces a static table:  
Top 100 Loyal Customers (# Flights)  
and the following dynamic outputs:  
Number of Loyalty Card Types table  
Number of Loyalty Members chart  
Total Flights chart  
Booked flights chart  
Companion Flights chart  
I made no attempt to construct a “loyalty score.” I simply used the number of flights as a loyalty indicator. It seems to me that things like flight length have little to do with customer loyalty. It certainly can be argued that long flight customers may be more desirable, but the loyalty weight is questionable without knowing about viable competition, etc.

> **[JKISeason4-8 – rfeigel](https://hub.knime.com/rfeigel/spaces/Public/JKISeason4-8~PkWLkNVZ16-f3nbd/current-state)**
>
> Solutions for data science: find workflows, nodes and components, and collaborate in spaces.

I used the Generic ECharts which proved to be tricky if you want them to dynamically change without manually recoding. I finally figured out how to pass them an array flow variable which did the trick. Here are the steps:

1. Multiple Selection Widget  
 ![1 Selection Widget](https://forum-cdn.knime.com/uploads/default/original/3X/0/8/08e2df83de6d4001ba143f1552d3ae7acd21ffab.jpeg)
2. Create Array Variable  
 ![2 Selection Widget](https://forum-cdn.knime.com/uploads/default/original/3X/f/a/fac56363b8baf49aef8199bb971c0b3c6643f6ca.jpeg)
3. Pass variable to chart and limit number of groups to 10 (can be changed)  
 ![3 Dynamic Chart](https://forum-cdn.knime.com/uploads/default/original/3X/2/4/24b12c63fe888de007f790648d693e0f369f2cd3.jpeg)  
 ![4 Dynamic Rule Engine](https://forum-cdn.knime.com/uploads/default/original/3X/4/1/416a033ffe3eb1cf0ce0ee711ae0ac3932e0f295.jpeg)
4. Use array variable in EChart node.  
 ![5 echart flow variable](https://forum-cdn.knime.com/uploads/default/original/3X/f/3/f3f8089be2330ebba8b81d4806532a6698efcd36.jpeg)
5. This permits changing group inputs with no code changes.  
 ![6 chart 1](https://forum-cdn.knime.com/uploads/default/original/3X/7/9/79d2cedbc3d745838389ae678ec0c4e128a1124c.jpeg)  
 ![7 Chart 2](https://forum-cdn.knime.com/uploads/default/original/3X/1/5/15da98592e74378de2c7c11a532b480e7bb45ee6.jpeg)

---

<div class="post-metadata">

**Author:** ![AnilKS](https://forum-cdn.knime.com/user_avatar/forum.knime.com/anilks/32/52258_2.png) [@AnilKS](https://forum.knime.com/u/AnilKS)\
**Post date:** [July 6, 2025, 1:48pm UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/15 "2025-07-06T13:48:27Z")

</div>

Find my Submission : Loyalty Scoring Model with weighted scores and normalized values . Built over 5.5 capabilities

> **[JKISeason4-8 – anilks](https://hub.knime.com/anilks/spaces/Just%20Knime%20It%20Challenges/JustKnimeit-S4/JKISeason4-8~gTXypIf1fXobWl7r/current-state)**
>
> JKISeason4-8

 ![flow](https://forum-cdn.knime.com/uploads/default/original/3X/9/f/9f5ba2057a382faf91a60f83436704ab15dd2ddb.png)  
 ![sankey](https://forum-cdn.knime.com/uploads/default/original/3X/0/7/077e2e65cc0e3cdb4dafb560a4ac3a20d314bc04.png)  
 ![parrallal geo.PNG](https://forum-cdn.knime.com/uploads/default/original/3X/d/8/d8d584137933a4dd9eb81dc4e18cdfe06f3d958f.jpeg)

---

<div class="post-metadata">

**Author:** ![PVergati](https://forum-cdn.knime.com/user_avatar/forum.knime.com/pvergati/32/79686_2.png) [@PVergati](https://forum.knime.com/u/PVergati)\
**Post date:** [July 6, 2025, 5:22pm UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/16 "2025-07-06T17:22:47Z")

</div>

👏👏👏  
Stunning visuals

---

<div class="post-metadata">

**Author:** ![aydinbarisustun](https://forum-cdn.knime.com/letter_avatar_proxy/v4/letter/a/a9a28c/32.png) [@aydinbarisustun](https://forum.knime.com/u/aydinbarisustun)\
**Post date:** [July 7, 2025, 8:26am UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/17 "2025-07-07T08:26:06Z")

</div>

Hello everyone!

Due to the limitations of my corporate laptop, I couldn’t perform neither API related nor AI related tasks for some weeks but here I am back with a proposed solution to the 8th challenge!

Have an awesome week \<3

 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/d/1/d1113615edbc1458452729eeda5644335c3e5511.png)

> **[Aydin Baris Ustun - Challenge 8 Solution – aydinbarisustun](https://hub.knime.com/aydinbarisustun/spaces/Public/Just%20KNIME%20It!%20Season%204/Challenge%208/Aydin%20Baris%20Ustun%20-%20Challenge%208%20Solution~oBKQV9QBaOH64tNd/current-state)**
>
> After a short break, I am back with another proposed solution. Here in my solution, you can observe some new column creations, assigning coefficients to calcul…

---

<div class="post-metadata">

**Author:** ![berti093](https://forum-cdn.knime.com/user_avatar/forum.knime.com/berti093/32/61891_2.png) [@berti093](https://forum.knime.com/u/berti093)\
**Post date:** [July 7, 2025, 3:06pm UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/18 "2025-07-07T15:06:19Z")

</div>

My solution to the challenge. Just in time 😃

> **[JKISeason4-8\_berti093 – berti093](https://hub.knime.com/berti093/spaces/Public/Just%20KNIME%20it%20S04/JKISeason4-8_berti093~b8bTMK3VvaJveEX2/current-state)**
>
> Solutions for data science: find workflows, nodes and components, and collaborate in spaces.

I did a PDF report that consists of the necessary information (I really love the PDF feature!). My steps:

1. I geocoded the cities
2. I have created “three” report pages  
2.1 Cover page  
2.2 Overview page  
2.3 Details pages for all the cities (29)

 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/8/0/80f7ba17d777df4225187f881309f1e32f164163.png)

In this way my pdf has 31 pages (1+1+29). Because of that, the loop is slow (5-10 min).

 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/9/3/93015b70d286431678e26668aaf60001b2a4c94c.png)  
 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/0/9/0956ce56e022edb67e9127b332abacbf45691395.png)  
 ![image](https://forum-cdn.knime.com/uploads/default/original/3X/5/9/591975282d42220deb995d6a47e02a4733b8efc6.png)

Due to time constraints this week, I couldn’t explore every angle, but I aimed to make the report visually appealing and easy to navigate. I’m always open to feedback and suggestions for improvement! 🙂

---

<div class="post-metadata">

**Author:** ![PVergati](https://forum-cdn.knime.com/user_avatar/forum.knime.com/pvergati/32/79686_2.png) [@PVergati](https://forum.knime.com/u/PVergati)\
**Post date:** [July 7, 2025, 3:38pm UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/19 "2025-07-07T15:38:02Z")

</div>

**✈ _Now boarding: talented data visualization specialist with a flair for elegance and a tolerance for long loops. Final destination: Singapore Airlines’ Advanced Reporting Department._ 🛬**

if _this_ is what you deliver when you’re short on time… I’m both impressed and mildly intimidated 😅. Your 31-page PDF isn’t just a KNIME report — it’s basically a first-class cabin experience in data form. All that’s missing is a glass of champagne and a hot towel 🥂🧼… (I’ll write you my address to have a complete service).

The 5–10 minute loop? Totally worth it. Feels less like a delay and more like an intentional intermission to admire the view 👀📊.

You didn’t just present data — you staged a performance. Bravo 👏🏼

---

<div class="post-metadata">

**Author:** ![berti093](https://forum-cdn.knime.com/user_avatar/forum.knime.com/berti093/32/61891_2.png) [@berti093](https://forum.knime.com/u/berti093)\
**Post date:** [July 7, 2025, 5:50pm UTC](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910/20 "2025-07-07T17:50:56Z")

</div>

Thank you @PVergati, you are too kind! 🙂 As last time, your detailed solution provided me the main inspiration 🙂

[Next page](https://forum.knime.com/t/solutions-to-just-knime-it-challenge-8-season-4/88910.md?page=2)
