Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.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
Python 查找基于位置的数据之间的相关性_Python_Mysql_Sql_Tableau Api - Fatal编程技术网

Python 查找基于位置的数据之间的相关性

Python 查找基于位置的数据之间的相关性,python,mysql,sql,tableau-api,Python,Mysql,Sql,Tableau Api,我试图找到MySQL数据库中一些基于位置的数据之间的相关性,我们在数据库中存储客户机和合作伙伴的信息。每个客户都有各自的geo\u邮政编码和geo\u地区字段,每个合作伙伴也是如此。当客户进入我们的系统时,他们会收到来自三个不同合作伙伴的报价。我想看看,如果合作伙伴位于表的geo\u-zip\u-code或geo\u-region字段中,并且客户与三个合作伙伴中的一个匹配,那么客户是否更有可能接受报价。然而,我不知道从哪里开始才能实现这一目标。如果可能,我如何在MySQL中做到这一点?否则,如果

我试图找到MySQL数据库中一些基于位置的数据之间的相关性,我们在数据库中存储客户机和合作伙伴的信息。每个客户都有各自的
geo\u邮政编码
geo\u地区
字段,每个合作伙伴也是如此。当客户进入我们的系统时,他们会收到来自三个不同合作伙伴的报价。我想看看,如果合作伙伴位于表的
geo\u-zip\u-code
geo\u-region
字段中,并且客户与三个合作伙伴中的一个匹配,那么客户是否更有可能接受报价。然而,我不知道从哪里开始才能实现这一目标。如果可能,我如何在MySQL中做到这一点?否则,如果你不想彻底回答,欢迎你指导我,我可以找到如何解决这个问题的信息。另外,如果可以在Tableau或Python中执行此操作,请让我知道。谢谢

这应该是一个很好的起点。当然,我没有你的桌子名

DECLARE @total_matches INT 
DECLARE @non_matches INT 
DECLARE @region_or_zip_matches INT 
-- this will return a count of all matches 
SELECT @total_matches = COUNT(m.'8')
FROM Matches as m 
-- this will return a count of matches where there is no zip/region match 
SELECT @non_matches = COUNT('8') 
FROM Matches  AS m 
INNER JOIN Clients AS c 
    ON c.client_id = m.client_id
INNER JOIN Partners AS p 
    ON p.partner_id = m.partner_id
WHERE 
AND c.geo_region IS NOT NULL --not null's may be unnecessary based on column criteria. 
AND p.geo_region IS NOT NULL 
AND c.geo_zip_code IS NOT NULL 
AND p.geo_zip_code IS NOT NULL 
AND (c.geo_region != p.geo_region
AND c.geo_zip_code != p.geo_zip_code)

SET @region_or_zip_matches = @total_matches - @non_matches

SELECT (CAST(@region_or_zip_matches AS FLOAT) / CAST(@total_matches AS FLOAT) * 100;

我们必须知道客户接受的报价是否已存储,以及信息在数据库结构中的位置。无论如何,您需要找到某种方法将接受的报价与客户和合作伙伴联系起来,以便获得有关此问题的准确数据。Edward,存在报价表和匹配表,我忘了包括这两个表。两个表都包含客户和合作伙伴的ID。这意味着带有匹配项的表应该是查找客户机和合作伙伴之间关系的表。非常感谢Edward!这正是我想要的。感谢您的评论,以澄清以及。