公司每月定期對員工銷量總和進行計算,若銷量總和大於 500,則篩選出銷售量大於平均值的員工資訊,寫入優秀員工資訊表,進行表揚嘉獎。
若銷量總和小於 500 則篩選出銷售量小於平均值的員工資訊,寫入需要進步員工資訊表,區域負責人和對應同學進行溝通,輔助成長。
使用參數指派節點獲取員工銷量總和,並傳遞給參數。
使用條件分支節點判斷參數值,若參數值大於等於 500,控制執行 A 下游節點,若參數值小於 500,控制執行 B 下游節點。
FineDataLink 中的資料處理程式,詳情參見:https://demo.finedatalink.com/ 「使用條件分支獲取優秀員工資訊-」。
建立一個定時任務,將一個「SQL腳本」節點拖到設計介面,並重新命名為「建立員工銷量表」。
SQL 語句的作用:資料庫中建立一張員工銷量統計表 slaes,主鍵是 id。
SQL 建表語句如下;
drop TABLE sales;CREATE TABLE IF NOT EXISTS `sales` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `sales` varchar(255) DEFAULT NULL, `city` varchar(255) DEFAULT NULL, `prov` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8;ALTER TABLE sales AUTO_INCREMENT=1;
若上面 SQL 語句報錯,可嘗試下面語句:
DROP TABLE IF EXISTS sales;CREATE TABLE IF NOT EXISTS sales (id INT(11) NOT NULL AUTO_INCREMENT,name VARCHAR(255) DEFAULT NULL,sales VARCHAR(255) DEFAULT NULL,city VARCHAR(255) DEFAULT NULL,prov VARCHAR(255) DEFAULT NULL,PRIMARY KEY (id)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
再將一個「SQL腳本」節點拖到設計介面,並重新命名為「為員工銷量表插入資料」,跟上游「建立員工銷量表」節點連結起來。
SQL 語句的作用:在剛剛建立的這張表裏插入一些示範用的資料。
表結構如下圖所示:
SQL 語句如下:
INSERT INTO `sales` VALUES (null, '張飛雲', 45,'蘇州','江蘇');INSERT INTO `sales` VALUES (null, '李亮', 50,'無錫','江蘇');INSERT INTO `sales` VALUES (null, '王大林', 70,'常州','江蘇');INSERT INTO `sales` VALUES (null, '劉再清', 30,'無錫','江蘇');INSERT INTO `sales` VALUES (null, '曹子雲', 80,'蘇州','江蘇');INSERT INTO `sales` VALUES (null, '張強', 60,'常州','江蘇');INSERT INTO `sales` VALUES (null, '王小明', 40,'無錫','江蘇');INSERT INTO `sales` VALUES (null, '陳俊', 100,'常州','江蘇');INSERT INTO `sales` VALUES (null, '週旭', 50,'南京','江蘇');INSERT INTO `sales` VALUES (null, '柳一', 75,'南京','江蘇');
1)將一個「參數指派」節點拖到設計介面,並重新命名為「獲取所有員工的銷量總和」,跟上游「為員工銷量表插入資料」節點連結起來。
設定節點的資料來源,SQL 語句的作用:對 sales 表中所有的銷售量進行求和得到總銷售量。
select sum(sales) as sales from sales
2)將獲取到的總銷售量匯出為參數,以便後續使用條件分支判斷是否將員工資訊寫入指定資料,如下圖所示:
1)將一個「資料同步」節點拖到設計介面,並重新命名為「銷量大於平均值的員工資訊入庫」。
設定節點的資料來源,SQL 語句的作用:篩選出 sales 表中銷售量大於平均值的員工資料。
SELECT sales.* FROM ( SELECT prov, avg( sales ) AS avg_sales FROM sales GROUP BY prov ) avg LEFT JOIN sales ON avg.prov = sales.prov WHERE sales.sales >= avg.avg_sales
2)設定資料去向將銷售量大於平均值的員工資料儲存到 good_user 表中。欄位映射用預設即可無需改動。
1)將一個「資料同步」節點拖到設計介面,並重新命名為「銷量小於平均值的員工資訊入庫」。
設定節點的資料來源,SQL 語句的作用:篩選出 sales 表中銷售量小於平均值的員工資料。
SELECT sales.* FROM ( SELECT prov, avg( sales ) AS avg_sales FROM sales GROUP BY prov ) avg LEFT JOIN sales ON avg.prov = sales.prov WHERE sales.sales < avg.avg_sales
2)將銷售量小於平均值的員工資料儲存到 remind_user 表中。欄位映射用預設即可無需改動。
1)將一個「條件分支」節點拖到設計介面,並重新命名為「判斷銷量總和是否大於500」。
連結上游「獲取所有員工的銷量總和」節點,再連結下游「銷量大於平均值的員工資訊入庫」和「銷量小於平均值的員工資訊入庫」節點。
此時點選條件分支節點,可以看到流轉到下游的兩個分支,可以給這兩個分支設定判斷條件,決定任務運作時執行下游哪個節點。
2)對兩個分支的條件進行設定,如下圖所示:
因為銷量總和 sales 參數值是 600,所以執行「銷量大於平均值的員工資訊入庫」分支,而「銷量小於平均值的員工資訊入庫」分支被跨越。
在「銷量大於平均值的員工資訊入庫」資料表 good_user 中,可以查看到寫入的資料,如下圖所示:
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙