Skip to content

Commit 071a860

Browse files
author
miranov25
committed
fixing automatic materialization test + working in the distrtion calibration test
1 parent 6759c26 commit 071a860

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

UTILS/dfextensions/AliasDataFrame.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,18 @@ def materialize_alias(self, name, cleanTemporary=False, dtype=None):
195195
print(f"[materialize_alias] Warning: alias '{name}' not found.")
196196
return
197197
expr = self.aliases[name]
198+
199+
# Automatically materialize any referenced aliases or subframe aliases
200+
tokens = re.findall(r'\b\w+\b|\w+\.\w+', expr)
201+
for token in tokens:
202+
if '.' in token:
203+
sf_name, sf_attr = token.split('.', 1)
204+
sf = self.get_subframe(sf_name)
205+
if sf and sf_attr in sf.aliases and sf_attr not in sf.df.columns:
206+
sf.materialize_alias(sf_attr)
207+
elif token in self.aliases and token not in self.df.columns:
208+
self.materialize_alias(token)
209+
198210
result = self._eval_in_namespace(expr)
199211
result_dtype = dtype or self.alias_dtypes.get(name)
200212
if result_dtype is not None:

0 commit comments

Comments
 (0)