Array aggregator ; how to use it for grouping the flatten data and sorting within the group?

I have input array data to aggregator is this:
Name (A)

Ms Rupam Srivastava

  • Age (B)

    64

  • Report Date (C)

    7/6/2025

  • Category (D)

    Blood Counts

  • Test (E)

    Hemoglobin

  • Value (F)

    11.5

  • Lower Ref (G)

    12

  • Upper Ref (H)

    15

  • Unit (I)

    g/dL

  • Status (J)

    out of range

  • Bundle order position

    1

  • Total number of bundles

    63

    But I want to convert it into this:
    {
    “test”: “Creatinine”,
    “category”: “Kidney Profile”,
    “unit”: “mg/dL”,
    “refLow”: 0.57,
    “refHigh”: 1.11,
    “latestDate”: “2025-07-06”,
    “latestValue”: 3.41,
    “series”: [
    {“date”:“2024-12-15”,“value”:2.6},
    {“date”:“2025-04-20”,“value”:2.9},
    {“date”:“2025-07-06”,“value”:3.41}
    ]
    }

    i.e. group certain fields and sort asc order within the group as shown above. Can somebody tell step by step how to achieve that?

Chatgpt is suggesting this but I am not able to follow it:
Tools → Array aggregator (group by Test, sort, and compute “latest”)

This is the key step. We’ll build a chart‑ready structure and compute each test’s latest point to decide if it’s out of range.

  • Source module: the Iterator (from Step 2)

  • Group by keys:

    • Test (map from the row)

    • Category (map from the row)

  • Order inside each group:
    Report Date ascending, but insert the normalization so the order is correct:

    • If YYYY-MM-DD in sheet:

      javascript
      

      CopyEdit

      {{formatDate(parseDate(Report Date; "YYYY-MM-DD"); "YYYY-MM-DD")}}

    • If MMM DD, YYYY:

      javascript
      

      CopyEdit

      {{formatDate(parseDate(Report Date; "MMM DD, YYYY"); "YYYY-MM-DD")}}

    • If DD/MM/YYYY:

      javascript
      

      CopyEdit

      {{formatDate(parseDate(Report Date; "DD/MM/YYYY"); "YYYY-MM-DD")}}

  • Aggregated top‑level fields per group (choose “Aggregate to” accordingly):

    • testTest (First)

    • categoryCategory (First)

    • unitUnit (First)

    • refLowLower Ref (First, then we’ll cast later or just leave numeric in Sheets)

    • refHighUpper Ref (First)

    Compute “latest” point (crucial):

    • latestDate → (map normalized date) (Last)

    • latestValueValue (Last)

    (Because we sorted by date ascending, the “Last” value is the latest.)

  • Aggregated array (call it series) item fields:

    • date → the normalized date you used above (same formula)

    • valueValue

Welcome to the Make community!

We’d love to help, however, you have not provided sufficient information to demonstrate the problem that would allow us to reproduce the scenario and any issue/s and/or error/s.

To allow others to assist you with your scenario, please provide the following:

1. All Relevant Screenshots

We need to see what you’re working with to give you the best advice. Screenshots are extremely important because Make is a visual editor — a picture provides us with more context.

It would help us identify the issue by having screenshots of:

  • the full scenario,
  • any error messages,
  • individual module fields,
  • relevant filter settings (conditions), and
  • each module’s output bundles
  • any external services (spreadsheet headers, sample data, regex101.com, etc.)

2. Scenario Blueprint

Please export the scenario blueprint. Providing your scenario blueprint file will allow others to quickly recreate and see how you have set up the mappings in each module, and also allows us take screenshots or provide module exports of any solutions we have for you in return - this would greatly benefit you in implementing our suggestions as you can simply paste module exports back into your scenario editor!

To export your scenario blueprint, click the three dots at the bottom of the editor then choose ‘Export Blueprint’.

3. Module Output Bundles

Please provide the output bundles of each of the relevant modules by running the scenario (you can also get this without re-running your scenario from the History tab).

Click on the white speech bubbles on the top-right of each module and select “Download input/output bundles”.

The formatting is crucial!

A. Upload as a Text File

Save each bundle contents in a plain text editor (without formatting) as a bundle.txt file.

You can upload the file here by clicking on this button:

B. Insert as Formatted Code Block

If you are unable to upload files on this forum, alternatively you can paste the formatted bundles.

To provide code/text using Markdown format, you can type a code fence.
Add three backticks ``` in a separate line before and after the content, like this,

```
text goes here
```

Alternatively, you can upload your file and share the public link** —
(this method is only recommended for large files exceeding the forum upload limit)

Providing the input/output bundles will allow others to replicate what is going on in the scenario, especially if there are complex data structures (nested arrays and collections) or if external services are involved, and help you with mapping the raw property names from collections.

Sharing these details will make it easier for others to assist you.