2016-03-10 2 views
0

J'ai besoin de convertir les données stockées sur plusieurs lignes en une seule ligne avec des cellules séparées. J'ai vu plusieurs solutions pour convertir des données stockées sur plusieurs lignes dans une seule cellule sur une seule ligne pour CSV. Cependant, je ne l'ai pas vu de solutions montrant comment afficher ces données dans des cellules séparées dans COGNOS 10.Lignes multiples à cellules séparées à une seule ligne dans COGNOS

Dans COGNOS 10 J'ai données énumérées en tant que tel: This is how i have the data currently

Il est deux tables l'une des informations de contact et un de l'information du membre. Cependant, je dois afficher ces données sur une ligne avec charge, comme conjoint/child1/child2 etc comme seperatas tels:

This is how I need the document

Répondre

1

Conjoint

CASE [Dep Type] 
WHEN 'Spouse' THEN [Dep] 
ELSE null 
END 

Conjoint-Âge

CASE [Dep Type] 
WHEN 'Spouse' THEN [Age - Pers] 
ELSE null 
END 

Enfants

CASE [Dep Type] 
WHEN 'Child' THEN [Dep] 
ELSE null 
END 

Child Count

running-count([Children] for [Person],[ID]) 

Régler la fonction d'agrégation sur 'Calculé'

Child1

CASE [Child Count] 
WHEN 1 THEN [Dep] 
ELSE null 
END 

Enfant1-âge

CASE [Child Count] 
WHEN 1 THEN [Age - Dep] 
ELSE null 
END 

Enfant2

CASE [Child Count] 
WHEN 2 THEN [Dep] 
ELSE null 
END 

Enfant2-âge

CASE [Child Count] 
WHEN 2 THEN [Age - Dep] 
ELSE null 
END 

Child3

CASE [Child Count] 
WHEN 3 THEN [Dep] 
ELSE null 
END 

Child3-âge

CASE [Child Count] 
WHEN 3 THEN [Age - Dep] 
ELSE null 
END 

enfant4

CASE [Child Count] 
WHEN 4 THEN [Dep] 
ELSE null 
END 

enfant4-âge

CASE [Child Count] 
WHEN 4 THEN [Age - Dep] 
ELSE null 
END 

Cela va créer les colonnes que vous voulez. Cependant, vous aurez toujours les mêmes lignes.Pour se débarrasser des lignes, vous pouvez définir la propriété Aggregate Function pour toutes les colonnes en dehors de Person et ID et Child Count sur 'Maximum'. Ceci, en conjonction avec la propriété par défaut Auto-Group et Summarize va tout rouler jusqu'aux deux colonnes qui définissent votre grain, Personne et ID.

+0

Merci! Le seul changement que j'ai dû faire pour obtenir exactement ce que je voulais était d'ajouter une instruction AND aux colonnes enfants pour vérifier à nouveau que le statut était enfant afin qu'il ne tombe plus dans le conjoint (mon compte d'enfant répétait le même nombre nombre quand il atteindrait un conjoint, pas sûr si cela est lui-même évitable) – user6046432

+0

Ah. Je vois ce que tu veux dire. Vous voudriez exclure la valeur NULL pour le nombre d'exécutions pour les lignes où le [Type de Dep] est Epouse. Cela peut être fait avec une déclaration de cas. CAS [Type Dep] QUAND 'Enfant' ALORS compte d'exécution ([Enfants] pour [Personne], [ID]) ELSE null END – Johnsonium