Hi Edward,
The Transform node does support group positional identifiers (node.firstInGroup and node.lastInGroup). These are discussed in the Help documentation, see the following topic:
Data360 Analyze Server Help > Python scripting > API and script bindings
Specifically, the section on the node objects.
This information is also available online for the latest version of the product here:
https://help.precisely.com/r/Data360-Analyze/3.14/en-US/Data360-Analyze-Server-Help/Python-scripting/API-and-script-bindings
Here is a simple example of their use that concatenates the string values of the 'color' field in the Create Data node's default data set, grouped by the 'type' field.

Note that by default the Transform node will log a warning if the input data is not sorted by the group by field(s) [See the node's UnsortedInputBehavior property for details].
------------------------------
Adrian Williams
Precisely Software Inc.
------------------------------
Original Message:
Sent: 05-29-2024 14:29
From: Edward Bodie
Subject: BrainScript "firstInGroup" equivilent in py/transform node
Under the deprecated Agg node there were Booleans that could be accessed (firstInGroup/lastInGroup) to identify whether or not the iteration of records within a grouping was one of those two values. We have need of doing something similar in the transform node using D360's PY bindings and the transform's grouping awareness, looking over the documentation I see several aggregate grouping functions but no bindings to tell the position within a group that node execution is currently at, (I see a firstExec boolean.. but obvious that applies to the first of all the records that a node processes.. not the first in a group). I'm hoping to get some insight on the D360 PY Bindings equivalent of the old brainscript firstInGroup and lastInGroup.
Thanks!
------------------------------
Edward Bodie
Managing Architect
Consolidated Communications Enterprise Services, Inc.
------------------------------