data = aq
.from(character)
.select("script_id", "gender", "words")
.groupby("script_id", "gender")
.rollup({ totalwords: aq.op.sum("words") })
.groupby("script_id")
.pivot("gender", "totalwords")
.derive({ gRatio: (d) => d.f / (d.f + d.m) })
.derive({ gRatio2: (d) => aq.op.round(d.gRatio * 100) / 100 })
.groupby("gRatio2")
.derive({ rRank: aq.op.rank() })