LoginSignup
0
0

More than 5 years have passed since last update.

nysol (MCMD) (2) 基準時を指定して指数を出す

Posted at

基準時(年)を指定して指数を出す

nysol を実際に触っている人向けの文章です。

基準年を使って指数を出すことはよくあります。単純な作業なので、エクセルでももちろんできますが、数が多くなるとそこそこやっかいです。また、Rやpython でも可能ですが、わざわざ使うまでもないともいえます。

対象となるデータは、2012年から、2015年までの年別データです。

year_2012_15.csv.zip

処理するスクリプト

H=hs2
BASE=2012
msum i=year_2012_15.dat k=Year,exp_imp,${H},Country f=VY |
mcut f=Year,exp_imp,${H},Country,VY o=temp.1
mselstr i=temp.1 f=Year v=${BASE} |
mcut f=exp_imp,${H},Country,VY:base o=temp.2
mjoin k=exp_imp,${H},Country i=temp.1 m=temp.2 f=base |
mcal c='format(100*(${VY}/${base}),"%4.1f")' a=index |
msortf f=${H},Country,exp_imp,Year o=exp_imp_${H}_country.csv

説明

1.H hs2 HSコード2桁の指定
2.base 基準年
3.集計キー(次元は)Year 年、exp_imp 輸出輸入(1:輸出 2:輸入) ${H} hsコード今回は、hs2 と指定、Country 国コードで、集計項目は、VY 年間の取引額の集計
4.年、輸出輸入、HSコード、国、取引額 を temp.1 に一時保存
5.基準年(2012年)の取引額を切り出し、temp.2 に一時保存
6.基準年の取引額を、HSコード、輸出輸入、国をキーにして 項目名 base として 追加
7.基準年を100として計算し、index として追加
8.並べ替えて保存

中間ファイルをつくって join を使うだけの作業です。
どのプログラミング言語でも可能ですが、使う文字数がすくなくて済むのと、
プログラミングが全く分かっていない人でも理解が苦痛ではないのがメリットです。(と思う)

結果

Year,exp_imp,hs2,Country,VY,base,index
2012,1,00,103,181151377,181151377,100.0
2013,1,00,103,213394699,181151377,117.8
2014,1,00,103,246818820,181151377,136.3
2015,1,00,103,280344819,181151377,154.8
2012,2,00,103,92019302,92019302,100.0
2013,2,00,103,100792390,92019302,109.5
2014,2,00,103,124617764,92019302,135.4
2015,2,00,103,145478060,92019302,158.1

このデータをもとにあとはいろいろ分析ができます。

(例)中国への輸出の伸びが高いもの、逆に輸入が落ち込んだところとか

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0