2013版基层自治组织统计代码数据整理
民政部网站上提供了基层组织统计代码,只有2012、2013两年有这个文件下载,同时这两年也提供了县以下行政代码表,htm格式的。因为每年都有行政区划的调整,2014至今都是只提供县以上的数据和县以下的变更数据。
我们今天来整理2013版的基层组织统计代码数据:
下载解压出文本文件
这个文件有23M数据73.7万行。
数据载入后是这个样子的:
用的TAB键来区分层级归属,这样的格式不方便我们作数据统计,所以我们要作适当地整理。
DAX中有PATH是非常适合处理这种层级结构数据,但是需要给出父级、子级的编码,然后才能用PATH类的函数来做数据统计。
子码整理比较简单,只是去掉多余的字符就可以了。
父级编码要复杂一些,我们先把源码分列用TAB分列:
这样我们就能看清楚真实的层级关系了,为了整理父级编码,我们需要向下填充所有的编码,在填充之前需要替换空白为null:
然后向下填充:
有的同学会说,两个省交界的位置会出现越界情况:
这个没关系,我们最后要通过子码来判断,子码与前面的每一列进行判断,相等才有结果。
作判断之前要对前面的这些列作格式整理,清楚不可见字符:
稳妥起见Text.Clean、Text.Trim都做一次,然后我们来创建父码:
其实原理很简单,就是用子码与前面的每一列对比,
这里还有特殊情况要处理,直辖市的第二列是null,所以我们要判断如果是直辖市,本来父级是第二列的要改成第一列,四个直辖市的二位编码是:
多加一个if判断就好了。
最后删除前面的列就可以了:
数据统计的时候我们还是要处理一下直辖市的层级问题,不然直辖市的区会与其他省的地级市同级,所以我们要先做一个层级深度的调整:
通过这个度量值来调整直辖市区及以下组织代码的层级,直辖市区及以下组织代码的层级深度加1.
我们可以用这个层级深度来作为筛选条件,筛选出各个层级的表格:
然后我们要统计这些数据就很简单啦,分别统计各个表的行数就可以了,当然我们也可以不用创建这些实际表,直接写在度量值中也是可以的。
我们可以根据层级关系来建立关系:
然后看统计结果:
各省地级市数量:
各省区县数量:
各省街道数量:
各省社区数量:
分解树:
页面更新:2024-04-27
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号