Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure 分组并获取数据_Clojure - Fatal编程技术网

Clojure 分组并获取数据

Clojure 分组并获取数据,clojure,Clojure,我想我是误解了clojure——我正试图从另一个数据集中塑造1个数据集,从下面的A到B A ID区域最小值 10346 GLBL 106 10346 ASPAC 106 10346 NA 106 10346 LATAM 106 10346欧洲、中东和非洲106 10347 GLBL 32 10347 ASPAC 32 10347 NA 32 10347 LATAM 32 10347欧洲、中东和非洲32 10349 NA 10 10327 NA 10344欧洲、中东和非洲8 10342 ASPAC

我想我是误解了clojure——我正试图从另一个数据集中塑造1个数据集,从下面的A到B

A
ID区域最小值
10346 GLBL 106
10346 ASPAC 106
10346 NA 106
10346 LATAM 106
10346欧洲、中东和非洲106
10347 GLBL 32
10347 ASPAC 32
10347 NA 32
10347 LATAM 32
10347欧洲、中东和非洲32
10349 NA 10
10327 NA
10344欧洲、中东和非洲8
10342 ASPAC 292
10342欧洲、中东和非洲292
10348 ASPAC 15
10422欧洲、中东和非洲37
10438钠0

B
ID EMEA NA ASPAC GLBL LATAM
10346 106 106 106 106 106 1034732
103490100
1032700
10344800
10342292209290
1034800150
10422 37 0 0
10438 0 0 0 0

group by正在工作,但我得到了所有区域的空值,我想过滤区域,我可以使用get获得该记录中MIN的值,并将其映射到新区域字段-有没有关于我在这里做错了什么的建议?或者我应该用什么来代替GET

(defn- create-summary [data]
(->> data

     (group-by :ID
     vals
     (map 
        (fn [recs]
            (let [a (fn [priority](get :MIN (filter #(= priority (:REGION %)) recs)))]
                {:ID (:ID (first recs))
                 :EMEA (a "EMEA")
                 :NA (a "NA")
                 :GLBL (a "GLBL") 
                 :LATAM (a "LATAM")
                 :ASPAC (a "ASPAC")
                 })))

    ))
这:

应该是

(let [a (fn [priority](get (first (filter #(= priority (:REGION %)) recs)) :MIN))]

你能和我们分享一下
数据的值(fn参数)吗?
(let [a (fn [priority](get (first (filter #(= priority (:REGION %)) recs)) :MIN))]