|
@@ -6,21 +6,26 @@
|
|
"""
|
|
"""
|
|
import pandas as pd
|
|
import pandas as pd
|
|
|
|
|
|
|
|
+from commom import get_logger, f_fill_placeholder
|
|
from data import DataLoaderBase
|
|
from data import DataLoaderBase
|
|
from entitys import MetricFucEntity
|
|
from entitys import MetricFucEntity
|
|
from .metric_base import MetricBase
|
|
from .metric_base import MetricBase
|
|
|
|
|
|
|
|
+logger = get_logger()
|
|
|
|
+
|
|
|
|
|
|
class MetricBySqlGeneral(MetricBase):
|
|
class MetricBySqlGeneral(MetricBase):
|
|
|
|
|
|
def __init__(self, sql: str, *args, **kwargs):
|
|
def __init__(self, sql: str, *args, **kwargs):
|
|
self._sql = sql
|
|
self._sql = sql
|
|
|
|
|
|
- def validate_data(self):
|
|
|
|
- pass
|
|
|
|
|
|
+ def _fill_placeholder(self, sql: str):
|
|
|
|
+ return sql
|
|
|
|
|
|
- def load_data(self, data_loader: DataLoaderBase, *args, **kwargs) -> pd.DataFrame:
|
|
|
|
- return data_loader.get_data(self._sql)
|
|
|
|
|
|
+ def _load_data(self, data_loader: DataLoaderBase, *args, **kwargs) -> pd.DataFrame:
|
|
|
|
+ sql = f_fill_placeholder(self._sql)
|
|
|
|
+ logger.info(f"sql: {sql}")
|
|
|
|
+ return data_loader.get_data(sql)
|
|
|
|
|
|
def calculate(self, *args, **kwargs) -> MetricFucEntity:
|
|
def calculate(self, *args, **kwargs) -> MetricFucEntity:
|
|
- return MetricFucEntity(table=self.load_data(*args, **kwargs))
|
|
|
|
|
|
+ return MetricFucEntity(table=self._load_data(*args, **kwargs))
|