сводные таблицы в базе данных с sqlalchemy - PullRequest
0 голосов
/ 17 августа 2010

Мне нужна база данных, которая поддерживает сводки, чтобы получить сводные столбцы с 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
)

Ответы [ 2 ]

0 голосов
/ 04 апреля 2014

Это довольно старый, но postgres теперь делает поворот: http://www.craigkerstiens.com/2013/06/27/Pivoting-in-Postgres

Предположительно, вам придется использовать sa.sql.func.crosstab и т. Д. В sqlalchemy.Полагаю, вы можете сопоставить выделенный фрагмент с объектом в ORM и извлекать данные таким образом, если хотите.

0 голосов
/ 20 августа 2010

Я использую следующий рецепт текст ссылки .Я получаю данные, а затем поворачиваюсь.

...