# -*- 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, *args, data_loader: DataLoaderBase, sql: str, **kwargs): self._data_loader = data_loader self._sql = sql def validate_data(self): pass def load_data(self, ) -> pd.DataFrame: return self._data_loader.get_data(self._sql) def calculate(self, ) -> MetricFucEntity: return MetricFucEntity(table=self.load_data())