Since I can’t edit the previous reply, replying again.
I was now able to get multiple variables to work together to load a value in liquid. I think part of the secret is that none of these variables, by itself, represents any Liquid object in my store.
Here is the exact code and the first result.
CODE:
{%- assign key_part_1 = ‘brand’ -%}
{%- assign key_part_2 = ‘value’ -%}
{%- assign key_part_3 = ‘brand’ -%}
{%- assign multi_level_key = ‘brand.value.brand’ -%}
{%- assign repeater_filter = ‘Cipollini’ -%}
{%- assign repeated_object = ‘bike_guide’ -%}
Variable Data
key_part_1: {{key_part_1}}
key_part_2: {{key_part_2}}
key_part_3: {{key_part_3}}
repeater_filter: {{repeater_filter}}
repeated_object: {{repeated_object}}
Testing the variables inside a for loop
{%- for item in shop.metaobjects[repeated_object].values -%}Test using one variable
item.brand: {{item.brand}}
item[key_part_1]: {{item[key_part_1]}}
item.key_part_1: {{item.key_part_1}}
Test using 2 variables
item.brand.value: {{item.brand.value}}
item[key_part_1][key_part_2]: {{item[key_part_1][key_part_2]}}
Test using 3 variables
item.brand.value.brand: {{item.brand.value.brand}}
item[key_part_1][key_part_2][key_part_3]: {{item[key_part_1][key_part_2][key_part_3]}}
{%- assign item_key = item[key_part_1][key_part_2][key_part_3] -%}
The full item key is {{item_key}}
{%- if item_key == repeater_filter -%}
This item passed the filter.
{%- endif -%}
{%- endfor -%}
FIRST RESULT:

