2017-08-16 103 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感謝您的指導 –