Repeating Group Constraint Array

I am trying to achieve an array of constraints on my meeting group where:
-The X axis constraint is the “Year Month” within a group (3 items: 2018-01, 2018-02, 2018-03)
-The Y axis constraint is the “Sub Channel” within a group (3 items: Paid Search, Podcasts, Social)

The issue is that in a repeating group, the index isn’t based on the column number & the row number. It’s just based on the item # in the list. Therefore, based on the below images, I can only get items in my table where the value is 2018-01 AND Paid Search, or 2018-02 AND Podcasts, or 2018-03 AND Social, and they’ll only show up in the first row of the repeating group instead of the correct coordinate.

An alternate solution would be to create 3 separate groups in columns of three where the Year Month is constrained on a hardcodded item # and the Sub Channel is constrained on the item # = current cell’s index.

How can I create this array constraint without having to use multiple separate groups instead of a repeating group?

Also, how do I get the input to appear in all the sections of the repeating group even if there is no data in the data table?

This is the current constraints that result in my error:

This is the result with what it SHOULD be drawn in.

I have figured out that if I load my database with entries for all of the months and channels, that the input boxes will always show. Not perfect but I think I’ll work with it for now. It solves a lot of other issues too.

As using 1 group with a 3 dimensional array for the groups representing my X and Y axises, I have figured out that I need to use constraints with a MODULO for my X axis and a CEILING for my Y axis. However, I am having trouble formulating these constraints as either direction I take it, I end up at a dead end. Example for my Sub Channel Y Axis:

Constraint:
Sub Channel = RepeatingGroup Acquisition_Channel’s List of Acquisition_Channels’s Sub Channel:item#Current cell’s index (more…) <- here i’d like to do the /3:ceiling on the current cell’s index so that it always returns Paid Search in the first row, Podcasts in the 2nd etc. but I receive no option to do so.

Alternatively:
Sub Channel = Current cell’s index/3:ceiling… <- here I also hit a roadblock. I am able to use IS from here but that’s not the correct item either.

I jimmy rigged a solution by making a new table Index with fields X, Y, Z. Z is the item number of the 2 dimensional repeating group while X represents the item number that the corresponding z should represent and same deal for Y and Z.

Now when I do my constraint on my input box:

Sub Channel = RepeatingGroup Acquisition_Channel’s List of Acquisition_Channels’s Sub Channel:item#Do a search for Index’s Y’s first value

The nested constraint for the searc for Index’s Y is simply where Z = Current Cell’s Index

Same deal for Year_Month but flipped searching for the Index’s Z value.

Not the perfect solution, but its a solid middle ground between doing exponentially more work and Bubble doing exactly what I want it to how I want it. Haha