De Generate Rows tool in Alteryx is één van de tools die ik leuk vind om te gebruiken omdat deze functionaliteit bevat die, naar mijn weten, uniek is. De tool stelt je namelijk in staat om rijen toe te voegen aan je dataset. Op deze manier kan je reeksen van nummers, transacties of zelfs datums toevoegen! Hoe je dat doet vertel ik je in dit blog.

Werking van Generate Rows tool

De generate rows tool in Alteryx volgt altijd hetzelfde patroon. Voor iedere record wordt een (dynamisch) aantal rijen toegevoegd aan de hand van een initialisatiewaarde een conditie en een expressie. Zolang de conditie (ook wel vergelijking) waar is worden er rijen toegevoegd aan de hand van de expressie. De expressie is meestal een increment (of decrement). De waarden van de bestaande kolommen in het huidige record blijven gelijk wanneer er nieuwe rijen worden toegevoegd. Zodra er niet meer wordt voldaan aan de conditie worden er geen rijen meer toegevoegd voor het huidige record. Hetzelfde proces wordt dan herhaald voor het volgende record totdat het laatste records is behandeld.

Configuratie

Voordat ik wat voorbeelden van gebruik deel neem ik je mee door de configuratie van de tool. Hieronder zie je het configuratiescherm van de generate rows tool. 

Als eerst kies je of je een nieuwe kolom wil toevoegen, of dat je één van de huidige kolommen wilt overschrijven. In het geval van toevoegen kies je ook de nieuwe naam en het datatype. In het voorbeeld is gekozen voor een nieuwe kolom ‘RowCount’ met Int32 als datatype.

Vervolgens kies je de initialisatiewaarde. In het voorbeeld wordt er dus voor ieder record met ‘1’ gestart.

Hierna volgt de conditie. Er worden rijen toevoegd zolang de conditie waar is. In het voorbeeld worden er rijen toegevoegd zolang de waarde van RowCount onder ’10’ ligt.

De expressie is het laatste blok. De expressie bepaalt wat de waarde van een nieuwe rij wordt, als deze wordt toegevoegd. In het voorbeeld wordt de waarde van de nieuwe kolom elke keer met ‘1’ opgehoogd.

Tip: via de knoppen met de drie puntjes kun gebruik maken van alle variabelen en functies die beschikbaar zijn.

Voorbeelden van gebruik Generate Rows tool

Ik zal twee voorbeelden geven die het gebruik van de tool kunnen verduidelijken. Allereerst het voorbeeld van hierboven aangevuld met het resultaat. Daarnaast een voorbeeld waar met een begin- en einddatum gewerkt wordt.

RowCount +1

Wat ik nog niet verteld heb is dat het niet verplicht is om een inkomende flow te connecten aan de generate rows tool. In dit voorbeeld heeft de tool geen inkomende connectie. Dit betekent dat er in de configuratie ook alleen gekozen kan worden voor een nieuw kolom. Configuratie en resultaat zie je hieronder. 

Zoals je kunt zien is het resultaat een simpele nieuwe dataset met de waarden 1 tot 10 in kolom ‘RowCount’. Als de expressie de waarde 10 bereikt resulteert de conditie niet meer in waar (11 <= 10 is immers onwaar) en dus worden er geen rijen meer toegevoegd. 

Begin- en einddatum (1)

Soms heb je een dataset waarbij je voor iedere record een begin en einddatum hebt. Als je een rij wilt hebben voor iedere datum, van begin tot eind, kun je de generate rows tool gebruiken. Hieronder zie je een beginsituatie, configuratie van de tool en resultaat.

Beginsituatie

Configuratie

Resultaat

Zoals je kunt zien is er een kolom toegevoegd genaamd ‘test’. Deze heeft waardes die lopen van de begindatum tot de einddatum per trip.

Begin- en einddatum (2)

Soms wil je geen kolom toevoegen, maar overschrijven. Onderstaand zie je dezelfde situatie als hierboven. Het enige verschil is dat er nu geen nieuwe kolom wordt aangemaakt, maar dat kolom ‘Begin’ wordt overschreven.

Beginsituatie

Configuratie

Resultaat

Tot slot

Heb je wat aan deze blog gehad en ben je benieuwd welke tools ik nog meer geschreven heb? Deze blog is een onderdeel van een serie die je hier kunt vinden. 

Als je andere blogs wilt lezen over software als Tableau en Alteryx, een training wilt volgen of een consultant wilt boeken kijk dan op The Information Lab NL voor meer informatie.