我需要一个支持枢轴的数据库来获取sqlalchemy的数据透视列,如下所示:
# find all possible values of the pivot
pivot_values = map(
operator.itemgetter(0),
select([pivot_on], from_obj=[report]).distinct().execute()
)
# build the new pivot columns
new_columns = [
pivot_func(case([(pivot_on == value, column)])).label("%s %s" % (value, column))
for value in pivot_values
for column in pivot_columns
]
return select(
non_pivot_columns + new_columns,
from_obj=[report],
group_by=group_by
)
答案 0 :(得分:0)
我使用以下食谱link text。我得到数据然后转动。
答案 1 :(得分:0)
这已经过时了,但postgres现在可以转动:http://www.craigkerstiens.com/2013/06/27/Pivoting-in-Postgres
据推测,你必须在sqlalchemy中使用sa.sql.func.crosstab等。猜猜你可以将交叉选择的选择映射到ORM中的对象,并根据需要将数据拉出来。