2010-03-15 20 views

Répondre

1

Vertica n'est actuellement pas disponible (version 3.5.9 pour référence future). J'ai parlé avec un collègue et sa suggestion était de jouer avec "cross join".

L'autre option serait de distiller vos résultats aussi loin que vous le pouviez, puis d'exécuter un processus en dehors de la base de données (perl, Java, C#, etc) qui manipulait les données.

Vertica est toutefois ouvert aux demandes de fonctionnalités.

Je ne crois pas que ce sera disponible dans la prochaine version 4.0 non plus.

0

Vertica peut faire une croix-onglet à l'aide de la base syntaxe SQL-92:

select 
    DIM1 
    ,DIM2 
    ,DIM3 
    ,SUM(MEASURE1) 
    ,SUM(MEASURE2) 
    ,SUM(MEASURE3) 
from 
(select 
    DIM1 
    ,DIM2 
    ,DIM3 
    ,MAX(CASE WHEN MEASURE = 'MEASURE1' then MEASURE1_VALUE else null end) MEASURE1 
    ,MAX(CASE WHEN MEASURE = 'MEASURE2' then MEASURE2_VALUE else null end) MEASURE2 
    ,MAX(CASE WHEN MEASURE = 'MEASURE3' then MEASURE3_VALUE else null end) MEASURE3 
from SOME_TABLE 
group by DIM1, DIM2, DIM3 
) as a 
group by DIM1, DIM2, DIM3