How to combine operations?

Hey all, I am fairly new to Make. It seems like a very powerful, but very, very complicated tool to learn. Especially as the documentation often tells you how to do something conceptually but with few meaningful examples.

I have a scenario that will work through an unknown number of Google Sheets, but only focus on the first column which will extract LinkedIn profile URLs. What I need to do is to combine all operations (i.e. 1 per Google Sheet) and combine all of that into 1 single list/array (still unsure of the correct Make terminology, but a normal array in standard python or javascript).

What seems to happen is that the operations can’t be aggregated with the array aggregator. See the screenshot below (that is my LinkedIn URL and it’s fine to be shown).

I’ve tried:

  • Using a text aggregator to combine the operation arrays
  • Using map() to combine arrays with the col1 as the key to map
  • Composing as a string, then splitting them back out again.

They all seem to just produce duplicate operations which I am trying to avoid like the plague as that will just be waste.

Any help will be greatly appreciated.

Hi & welcome.

A few hints on finding your way around Make - looks like you have understood the basics of putting together a scenario so the next step is understanding the logic. I would recommend having a look through the Make youtube channel and also Maxvcollenburg. There is a tonne to be learned there.

OK, on to your specific query -

  1. why are you not using the Google Sheets Module?
  2. Is the data required after the scenario has run? If so, have you considered using a “datastore”?
1 Like

Thank for your advice @IainM.

Regarding your questions:

  1. This is the backend for a nocode tool that I am developing. The instruction I have given to users is to publish their Google Sheet to the web which then (I think) makes it a bit easier regarding user experience. As it’s an unknown number of Google Sheets that will be provided I and I don’t want to have to manually connect the sheets as users provide them, I took this approach.

  2. I need to then run further operations on the list/array afterwards, which I can do, but I am just struggling with getting it into the right format whether I use a data store (sorry, tried that too) or just have the rest of the processing in this scenario.

Hopefully that provides a bit more clarity. If not, please let me know.

Hi @5am

To solve your issue, please change the Source module of the array aggregator module. Please bind the array aggregator to the module which generates multiple bundles.

MSquare Support
Visit us here
Youtube Channel

3 Likes

This is on the right direction but to get only one array to be output in the array aggregator the source module of the aggregator must output only one operation. You see the operation counts on the preceding are more than 1 so when you do this it is essentially processing the subequent operation and aggregating whatever appears in that operation.

This can be tricky as you will have a module that generates multiple operations and as a result the rest of the modules operate that much, so at some point you’ll need to get a module to execute only one operation and use that as a source for the aggregator.

I made a video that shows this.

1 Like

I tried this and all of a sudden the next modules are missing bundles. see my post here Losing a Bundle after passing through a router - Who ate my bundle?

I’m having a hard time understanding operations and bundles, it seems random and there doesn’t seem to be a way to control it.