import dagster as dg
import pandas as pd

@dg.asset
def raw_sales() -> pd.DataFrame:
    """売上データを読み込む"""
    return pd.DataFrame({
        "product": ["A", "B", "C", "A", "B"],
        "amount": [100, 200, 150, 120, 180],
        "region": ["East", "West", "East", "West", "East"]
    })

@dg.asset
def sales_by_region(raw_sales: pd.DataFrame) -> pd.DataFrame:
    """地域別売上を集計する"""
    return raw_sales.groupby("region")["amount"].sum().reset_index()

defs = dg.Definitions(assets=[raw_sales, sales_by_region])