Выдавливать точечный слой на основе данных о продажах из другой таблицы. - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь заставить работать SQL-запрос, который берет данные об общем объеме продаж для продавца и использует его для выдавливания адреса продавца, чтобы дать мне трехмерное представление о том, кто больше всего продает.У меня три стола;salepeople с spid, адресной таблицей с spaddressid и spgeom.И продажи, которые имеют итоги продаж.Вот что у меня есть:

CREATE TABLE sales_extruded AS SELECT sp.spid, ad.spaddressid, ST_Extrude(ad.spgeom, 0,0, st.saletallytotal) as the_geom, st.saletallytotal FROM public."address" ad, public."salestally" st, public."salespeople" sp WHERE st.spid = sp.spid ;

Я хотел бы попросить о помощи в двух вещах;как сгруппировать все показатели продаж для отдельных продавцов и как проверить создаваемую геометрию.Я перенес таблицу в ArcMap, но ничего не отображается.В идеале я хотел бы перенести это в ArcScene.Спасибо всем, кто может помочь с этим.

1 Ответ

0 голосов
/ 09 декабря 2018

Без схемы трудно предоставить точную и конкретную помощь, но вот попытка.Первый запрос будет работать, если в таблицах продаж есть по одной строке для каждого продавца.Если вам необходимо суммировать значения по торговому представителю, вам может понадобиться что-то вроде второго запроса, который суммирует продажи для конкретного продавца в запросе по каждому адресу.

CREATE TABLE sales_extruded AS 
 SELECT sp.spid
  , ad.spaddressid
  , ST_Extrude(ad.spgeom, 0,0, st.saletallytotal) as the_geom
  , st.saletallytotal 
 FROM public."address" ad 
 join public."salespeople" sp on sp.spaddressid = ad.spaddressid
 join public."salestally" st on st.spid = sp.spid;



CREATE TABLE sales_extruded AS 
 SELECT sp.spid
  , ad.spaddressid
  , ST_Extrude(ad.spgeom, 0,0, sum(st.saletallytotal)) as the_geom
  , sum(st.saletallytotal) as saletallytotal
 FROM public."address" ad 
 join public."salespeople" sp on sp.spaddressid = ad.spaddressid
 join public."salestally" st on st.spid = sp.spid
 group by sp.spid, ad.spaddressid, ad.spgeom;
...