2013-08-19 66 views
1

我有REC結構是這樣的:的foreach裏面的foreach豬

Read_PeopleAll: {PID: bytearray,Read_PropertyTax: {(PropertyID: bytearray,ReadPropertyDS: (PersonID: bytearay,PropertyID: bytearray))}} 

其實我試圖訪問物業ID,但無法做到這一點。

a = foreach Read_PeopleAll { 
     b = foreach Read_PropertyTax{ 

      c = filter ReadPropertyDS by PersonID is not null; 
       generate $0,c; 
     }; 
     GENERATE $0,b; 
}; 
dump a; 

但我gettign錯誤是這樣的:

不匹配輸入 '{' 期待GENERATE

我是否可以能夠使用其他的foreach裏面的foreach。

在可替代的方式,我能夠訪問,

a = FOREACH Read_PeopleAll generate Read_PropertyTax.ReadPropertyDS; 
IsValidProperty = FILTER a BY PropertyID==1. 

任何建議!

+0

嘗試FLATTEN(ReadPropertyDS)而不是嵌套的foreach – Oleksii

回答

0

docs

注:FOREACH語句可以嵌套到只有兩個級別。嵌套到三個或更多級別的FOREACH語句將導致語法錯誤。

您可以將FOREACH嵌套在FOREACH中,但不能在其中嵌套另一個操作。