fbdf80bd71
- scratchpad/ap.parquet - scratchpad/bq.py - scratchpad/cards.json - scratchpad/citas_recon.csv - scratchpad/dash.txt - scratchpad/diego.parquet - scratchpad/diego_literals.sql - scratchpad/exf/ - scratchpad/va.parquet - scratchpad/vm.parquet Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
43 lines
1.9 KiB
Python
43 lines
1.9 KiB
Python
import json, sys
|
|
sys.path.insert(0, "scratchpad/exf")
|
|
from build import api, BASE, CARDS, TAGS, dq
|
|
|
|
COLLECTION = 583 # "Claude" (junto a 1094)
|
|
|
|
CUR = {"number_style":"currency","currency":"EUR","currency_style":"symbol","decimals":0}
|
|
|
|
def viz(kind):
|
|
if kind == "total":
|
|
return {"column_settings":{'["name","venta_web_eur"]':CUR},
|
|
"scalar.field":"venta_web_eur"}
|
|
if kind == "canal":
|
|
return {"graph.dimensions":["canal"],"graph.metrics":["venta_eur"],
|
|
"graph.x_axis.title_text":"Canal","graph.y_axis.title_text":"Venta web (EUR)",
|
|
"column_settings":{'["name","venta_eur"]':CUR},"graph.show_values":True}
|
|
if kind == "pago":
|
|
return {"graph.dimensions":["forma_pago"],"graph.metrics":["venta_eur"],
|
|
"column_settings":{'["name","venta_eur"]':CUR},"graph.show_values":True}
|
|
if kind == "matriz":
|
|
return {"column_settings":{'["name","venta_eur"]':CUR},
|
|
"table.columns":[
|
|
{"name":"canal","enabled":True},{"name":"forma_pago","enabled":True},
|
|
{"name":"venta_eur","enabled":True},{"name":"documentos","enabled":True}]}
|
|
if kind == "evolutivo":
|
|
return {"graph.dimensions":["mes","canal"],"graph.metrics":["venta_eur"],
|
|
"stackable.stack_type":"stacked","column_settings":{'["name","venta_eur"]':CUR},
|
|
"graph.x_axis.title_text":"Mes","graph.y_axis.title_text":"Venta web (EUR)"}
|
|
return {}
|
|
|
|
created = {}
|
|
for k, c in CARDS.items():
|
|
body = {"name": c["name"], "display": c["display"],
|
|
"dataset_query": dq(c["sql"]),
|
|
"visualization_settings": viz(k),
|
|
"collection_id": COLLECTION}
|
|
r = api("POST", "/api/card", body)
|
|
created[k] = r["id"]
|
|
print(f"card {k}: id {r['id']} {c['name']}")
|
|
|
|
json.dump(created, open("scratchpad/exf/cards.json","w"))
|
|
print("CARDS:", created)
|