Untitled
unknown
plain_text
a year ago
2.0 kB
5
Indexable
def query(self, scope):
cube = self.catalog.get_cube("Limits_Cube")
dfs = []
for sens_name in SENS_NAME_INCLUDED.keys():
df = cube.query(
cube.measures['Trigger Value'],
cube.measures[DAILY_LIQUIDITY + " Triggers"],
cube.measures[TRIGGER_CONSUMPTION_DAILY],
filter=(cube.levels["AsOfDate"] == scope['AsOfDate']) &
(cube.levels["SensitivityName"].isin(*SENS_NAME_INCLUDED[sens_name])),
levels=[
cube.levels["AsOfDate"],
cube.levels["TriggerGrouping2"],
cube.levels["Tenor_Triggers"],
]
).reset_index()
print(f"Forma del DataFrame antes del rename: {df.shape}")
print(df.head()) # Mostrar los primeros registros
if df.empty:
print(f"⚠️ Advertencia: No se encontraron datos para {sens_name}")
continue
# Renombrar columnas
df = df.rename(columns={
'Trigger Value': "TRIGGER",
DAILY_LIQUIDITY + " Triggers": "DAILY LIQUIDITY",
TRIGGER_CONSUMPTION_DAILY: "CONSUMPTION"
})
df = df.rename(columns={
"AsOfDate": "FECHA",
"TriggerGrouping2": "SUBYACENTE",
"Tenor_Triggers": "PLAZO",
})
# Agregar factor y griega
df["FACTOR"], df["GRIEGA"] = sens_name.split(' ')
dfs.append(df)
# ✅ 6. Verificar si hay datos antes de concatenar
if not dfs:
print("⚠️ Advertencia: Ningún DataFrame con datos, input_df estará vacío.")
else:
self.input_df = pd.concat(dfs, axis=0)
print(f"Tamaño de input_df final: {self.input_df.shape}")
print(self.input_df.head()) # Mostrar primeros datosEditor is loading...
Leave a Comment