У меня есть куча данных, детализирующих композиции материалов. Некоторые из этих материалов также представляют собой смеси других материалов. Данные, которые я имею, сведены в таблицу как ниже. (тип ингредиента просто для удобства чтения человеком, он выражает, существует ли значение в столбце B в столбце A)

Я хотел расширить это до нижнего уровня, то есть вернуть таблицу, которая показывает состав в терминах только "вещей", а не миксов; где что-то является смесью, оно должно расширяться до составляющих его "вещей"

В Excel это потребует некоторой медленной работы и запутанного VBA. Из того, что я понимаю, это должно быть относительно тривиально в доступе, если данные были представлены таким образом, что доступ "понимает" их. Но я понятия не имею, как.

Product         Ingredient      Ingredient Type
APPLE_PIE       APPLE_FILLING   mix            
APPLE_PIE       PASTRY          mix            
APPLE_FILLING   APPLES          thing          
APPLE_FILLING   SUGAR           thing          
APPLE_FILLING   MIXED_SPICE     mix            
MIXED_SPICE     CINAMON         thing          
MIXED_SPICE     NUTMEG          thing          
PASTRY          FLOUR           thing          
PASTRY          SALT            thing          
PASTRY          WATER           thing          
PASTRY          BUTTER          thing          
EGG_NOG         EGGS            thing          
EGG_NOG         MILK            thing          
EGG_NOG         MIXED_SPICE     mix            
EGG_NOG         RUM             mix            
RUM             SUGAR           thing          
RUM             TIME            thing          
RUM             RAINBOWS        thing          

Элегантное решение будет работать независимо от того, насколько глубока "смесь", и не требует ручного рефакторинга данных. Но то, что расширяет уровень таблицы 1 и может быть запущено рекурсивно, все равно сделает эту работу.

0