# -*- coding: utf-8 -*- """ @author: yq @time: 2024/10/31 @desc: sql直接统计指标直出 """ import pandas as pd from data import DataLoaderBase from entitys import MetricFucEntity from .metric_base import MetricBase class MetricBySqlGeneral(MetricBase): def __init__(self, sql: str, *args, **kwargs): self._sql = sql def validate_data(self): pass def load_data(self, data_loader: DataLoaderBase, *args, **kwargs) -> pd.DataFrame: return data_loader.get_data(self._sql) def calculate(self, *args, **kwargs) -> MetricFucEntity: return MetricFucEntity(table=self.load_data(*args, **kwargs))