2017-08-16 61 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 

我上传数据库和预期输出的图像。任何人都可以重写查询或告诉我哪里出错了吗?数据是丢失当我使用UNWIND

我的问题是MEASURES1和MEASURES2都有我需要的数据。当我使用展开MEASURES1 AS RESULT1时,它会根据需要提供输出,但在第二个展开的情况下(展开MEASURES2 AS RESULT2),将从MEASURES1MEASURES2中删除整个数据。

请看附图以更清楚地了解情况。

Data model, expected output

+2

请避免句为“请回复很快”,专注于[如何创建一个最小的,完整的和可核查的示例](https://stackoverflow.com/help/mcve)。 –

+0

请停止尝试询问特定用户的帮助。所有协助都是自愿的。 – ChrisF

+0

您的查询有语法错误:'Invalid input''':expected whitespace,comment or a expression(line 3,column 100(offset:169)) “extract(NUM IN filter(V IN collect({PROB1:PROBLEM。 PROB_ID,PROB2:PROBLEM.REGION})其中V.PROB2 ='伦敦')| NUM.PROB1)作为措施1,“' –

回答

0

后续查询将摆脱数据库的数据的方式,可以让你建立你的报告。

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

希望这有助于:作为奖励也会,如果你添加一个新的区域合作。

问候, 汤姆

+0

非常感谢@Tom Geudens这个工作我很高兴你花了你宝贵的时间来给出答案 –

+0

@AkshayVakharia如果它适合你,请将答案标记为已接受,以便其他人可以看到问题已完成!谢谢 –

+0

@ChrisSkardon感谢您的指导 –