2017-08-16 1 views
-1
MATCH (ORG:ORG)-[ORGHASPROBLEM:HAS]->(PROBLEM:PROBLEM) WITH PROBLEM, 

extract(NUM IN filter(V IN collect({ PROB1:PROBLEM.PROB_ID, PROB2:PROBLEM.REGION}) where V.PROB2= 'LONDON') | NUM.PROB1) AS MEASURES1, 

extract(NUM IN filter(V IN collect({ PROB1:PROBLEM.PROB_ID, PROB2:PROBLEM.REGION}) where V.PROB2= 'PARIS') | NUM.PROB1) AS MEASURES2 

unwind MEASURES1 AS RESULT1 
unwind MEASURES2 AS RESULT2 

RETURN DISTINCT PROBLEM.SLAB AS DIMENSION,count(RESULT1) AS MEASURES1,count(RESULT2) AS MEASURES2 

Je l'image de L'ajout de la base de données et les résultats escomptés. Quelqu'un peut-il réécrire la requête ou me dire où je vais mal?données est la perte lorsque j'utilise la UNWIND

Ma question est que MESURES1 et MESURES2 ont mes données requises. Lorsque j'utilise le déroulement MEASURES1 AS RESULT1 il donne la sortie comme requis, mais dans le cas de la 2ème dérouler (dérouler MEASURES2 AS RESULT2) il supprime l'ensemble des données de MEASURES1 et MEASURES2.

S'il vous plaît, voir l'image ci-jointe pour comprendre le scénario plus clairement.

Data model, expected output

+2

S'il vous plaît éviter des phrases comme « s'il vous plaît répondre rapidement » et se concentrer sur [comment créer un exemple minimal, complet et vérifiable] (https://stackoverflow.com/help/mcve). –

+0

Veuillez ne plus essayer de demander de l'aide à des utilisateurs spécifiques. Toute aide est volontaire. – ChrisF

+0

Votre requête comporte des erreurs de syntaxe: 'Entrée non valide '': espace, commentaire ou expression attendus (ligne 3, colonne 100 (offset: 169)) " extrait (filtre NUM IN (V IN collect ({PROB1: PROBLEM. PROB_ID, PROB2: PROBLEM.REGION}) où V.PROB2 = 'LONDON') | NUM.PROB1) COMME MESURES1, "' –

Répondre

0

La requête de suivi va obtenir les données sur la base de données d'une manière qui vous permettra de construire votre rapport. En prime, cela fonctionnera également si vous ajoutez une nouvelle région:

MATCH (p:PROBLEM) 
WITH count(*) AS ct, p.REGION AS pregion, p.SLAB AS slab 
RETURN slab, collect({region: pregion, count: ct}) as result; 

Espérons que cela aide.

Cordialement, Tom

+0

Merci beaucoup @Tom Geudens cela a fonctionné je suis tellement heureux que vous passez votre temps précieux à donner la réponse –

+0

@AkhayVakharia S'il vous plaît marquer la réponse comme acceptée si cela fonctionne pour vous, afin que les autres puissent voir la question est complète! Merci –

+0

@ChrisSkardon merci pour vos conseils –