- id: calculate_sales_metrics
name: calculate_sales_metrics
tool: PYTHON_SANDBOX_RUN
input:
- name: code
value: |
import json
from datetime import datetime, timedelta
# サンプル売上データ
sales_data = [
{"product": "商品A", "sales": 1500, "region": "北部", "month": "1月"},
{"product": "商品B", "sales": 2300, "region": "南部", "month": "1月"},
{"product": "商品A", "sales": 1800, "region": "北部", "month": "2月"},
{"product": "商品B", "sales": 2100, "region": "南部", "month": "2月"}
]
# サマリーテーブルを作成
summary = [["商品", "地域", "月", "売上", "成長率"]]
for i, item in enumerate(sales_data):
growth = "N/A"
if i >= 2: # 2月データの成長率を計算
prev_sales = sales_data[i-2]["sales"]
growth = f"{((item['sales'] - prev_sales) / prev_sales * 100):.1f}%"
summary.append([
item["product"],
item["region"],
item["month"],
f"¥{item['sales']:,}",
growth
])
print(json.dumps(summary, ensure_ascii=False))
- id: export_sales_csv
name: export_sales_csv
tool: CONVERTER_ARRAY_TO_CSV
input:
- name: input
value: "{{steps.calculate_sales_metrics.result.stdout | fromJson}}"
- id: create_downloadable_report
name: create_downloadable_report
tool: OUTPUT_FILE
input:
- name: content
value: "{{steps.export_sales_csv.result}}"
- name: filename
value: "sales_report_{{date | format('YYYY-MM-DD')}}.csv"
- name: fileType
value: "csv"