Please help
I have a table A (about 2GB) and I want to divide it depending on the variable number that is eaten in this table.
Please use the hash table.
I really care about the speed of the command.
I am a beginner in hash so please bear with us.
data A;
informat datetime datetime21.;
input datetime Nr temperature_1 temperature_2 temperature_3 temperature_4 temperature_5 temperature_6 temperature_7 temperature_8 temperature_9 temperature_10 pressure_1 pressure_2 pressure_3 pressure_4 pressure_5 pressure_6 pressure_7 pressure_8 pressure_9 pressure_10 ;
format datetime datetime21.;
cards;
01NOV2012:20:09:00 112113 8.8386586448 9.7382110218 5.0758258603 8.8694050722 6.8936349358 9.432546082 9.2878638301 4.8766398407 7.7988508134 8.7713846681 1 1 1 1 1 1 1 1 1 1
19DEC2013:00:09:00 112113 3.1682274491 3.8016460347 0.0828465261 6.5064271912 7.5012415438 0.2482288703 8.2464989461 4.0366380266 4.2733701062 5.230450104 61 61 61 61 61 61 61 61 61 61
29OCT2014:23:09:00 112113 4.2798770685 7.3606959847 9.6644437662 0.4209582577 6.5941452747 0.6463373546 2.728187507 7.1689701942 3.5560273053 2.1887783287 121 121 121 121 121 121 121 121 121 121
07DEC2017:23:09:00 112113 0.4644698882 7.4807286961 5.35556752 9.3602973665 7.9723406397 1.3072503288 0.65210792 5.4844892211 7.0024573081 6.0352300038 181 181 181 181 181 181 181 181 181 181
28JAN2004:23:09:00 112114 3.4588757018 0.9221725771 8.3306752145 4.5803881995 8.2675979147 9.1477185837 5.7202544645 7.9451231612 0.9673189698 1.8442960829 241 241 241 241 241 241 241 241 241 241
28MAR2006:23:09:00 112114 6.3791716751 2.1213577455 7.9790208535 5.2773255971 8.6945169419 1.6644138051 0.0204887614 5.0024614809 5.4114883579 6.6648952151 301 301 301 301 301 301 301 301 301 301
19OCT2011:00:09:00 112114 6.7945698788 5.6084340392 9.3033694685 0.8323060418 6.897864067 6.0847914289 4.7261788161 4.3651668495 5.3854351002 9.6577573661 361 361 361 361 361 361 361 361 361 361
16DEC2013:19:09:00 112114 3.7592288386 5.5167134176 7.3533652583 5.7666407409 8.0186763406 5.0429561432 4.3662598124 8.0805433588 1.0869284347 3.2223363873 421 421 421 421 421 421 421 421 421 421
23SEP2014:19:09:00 112114 5.7138312096 9.8083063331 0.7149568223 6.3757409411 6.7465888965 1.9086576509 8.1664893031 3.7590556568 7.3485474777 9.9914430827 481 481 481 481 481 481 481 481 481 481
11FEB2019:19:09:00 112114 8.5294209281 1.6220973455 7.9244413553 9.1218567034 7.1427283529 4.5025826711 2.4023903767 9.7427219199 9.1612814669 6.319673683 541 541 541 541 541 541 541 541 541 541
11MAR2008:17:09:00 112115 7.3827899154 7.210859051 8.8476096536 4.682344154 9.9290248146 8.2291204389 8.0297554797 3.9942333312 9.6723125875 6.8582974235 601 601 601 601 601 601 601 601 601 601
15MAY2009:20:09:00 112115 0.6967037264 2.209698474 7.0656412118 3.4976043901 6.3166508637 4.1500182427 8.1335787382 0.5143562239 5.0487393979 3.2850281289 661 661 661 661 661 661 661 661 661 661
10MAR2011:05:09:00 112115 4.9747866485 7.05029523 1.1164530157 6.705195969 3.0150882155 3.6897646612 0.0299303746 1.6008544178 8.6340258014 9.5965762227 721 721 721 721 721 721 721 721 721 721
06FEB2012:04:09:00 112115 0.4850171693 3.0325717526 1.9730921229 9.1757692955 1.7643042444 2.2333751363 0.3155178041 5.5754801724 9.6805345081 0.4472889821 781 781 781 781 781 781 781 781 781 781
27MAR2012:14:09:00 112115 0.6278450065 4.8086930346 3.9867412089 4.087025465 4.2292779218 9.7946837055 9.5147549128 2.3544393363 6.5958845848 7.1473370702 841 841 841 841 841 841 841 841 841 841
03MAR2015:21:09:00 112115 3.0274132919 4.6789796697 3.2627761643 6.2627409864 9.4722208031 7.2383880219 8.4133591177 3.0224332935 2.2182885674 3.8854886894 901 901 901 901 901 901 901 901 901 901
20JAN2016:13:09:00 112115 8.8339482551 9.9984312756 3.6358541274 5.2535630809 3.2169948774 6.7585500027 0.8276014449 1.0962000792 3.3902002592 1.8370366748 961 961 961 961 961 961 961 961 961 961
05AUG2016:22:09:00 112115 8.216716242 8.7472304446 0.4472922022 5.6399317854 7.9897754826 1.4684082754 1.9898261293 4.106047512 8.7406910001 2.638587181 1021 1021 1021 1021 1021 1021 1021 1021 1021 1021
run;
data want_112113;
informat datetime datetime21.;
input datetime Nr temperature_1 temperature_2 temperature_3 temperature_4 temperature_5 temperature_6 temperature_7 temperature_8 temperature_9 temperature_10 pressure_1 pressure_2 pressure_3 pressure_4 pressure_5 pressure_6 pressure_7 pressure_8 pressure_9 pressure_10 ;
format datetime datetime21.;
cards;
01NOV2012:20:09:00 112113 8.8386586448 9.7382110218 5.0758258603 8.8694050722 6.8936349358 9.432546082 9.2878638301 4.8766398407 7.7988508134 8.7713846681 1 1 1 1 1 1 1 1 1 1
19DEC2013:00:09:00 112113 3.1682274491 3.8016460347 0.0828465261 6.5064271912 7.5012415438 0.2482288703 8.2464989461 4.0366380266 4.2733701062 5.230450104 61 61 61 61 61 61 61 61 61 61
29OCT2014:23:09:00 112113 4.2798770685 7.3606959847 9.6644437662 0.4209582577 6.5941452747 0.6463373546 2.728187507 7.1689701942 3.5560273053 2.1887783287 121 121 121 121 121 121 121 121 121 121
07DEC2017:23:09:00 112113 0.4644698882 7.4807286961 5.35556752 9.3602973665 7.9723406397 1.3072503288 0.65210792 5.4844892211 7.0024573081 6.0352300038 181 181 181 181 181 181 181 181 181 181
run;
data want_112114;
informat datetime datetime21.;
input datetime Nr temperature_1 temperature_2 temperature_3 temperature_4 temperature_5 temperature_6 temperature_7 temperature_8 temperature_9 temperature_10 pressure_1 pressure_2 pressure_3 pressure_4 pressure_5 pressure_6 pressure_7 pressure_8 pressure_9 pressure_10 ;
format datetime datetime21.;
cards;
28JAN2004:23:09:00 112114 3.4588757018 0.9221725771 8.3306752145 4.5803881995 8.2675979147 9.1477185837 5.7202544645 7.9451231612 0.9673189698 1.8442960829 241 241 241 241 241 241 241 241 241 241
28MAR2006:23:09:00 112114 6.3791716751 2.1213577455 7.9790208535 5.2773255971 8.6945169419 1.6644138051 0.0204887614 5.0024614809 5.4114883579 6.6648952151 301 301 301 301 301 301 301 301 301 301
19OCT2011:00:09:00 112114 6.7945698788 5.6084340392 9.3033694685 0.8323060418 6.897864067 6.0847914289 4.7261788161 4.3651668495 5.3854351002 9.6577573661 361 361 361 361 361 361 361 361 361 361
16DEC2013:19:09:00 112114 3.7592288386 5.5167134176 7.3533652583 5.7666407409 8.0186763406 5.0429561432 4.3662598124 8.0805433588 1.0869284347 3.2223363873 421 421 421 421 421 421 421 421 421 421
23SEP2014:19:09:00 112114 5.7138312096 9.8083063331 0.7149568223 6.3757409411 6.7465888965 1.9086576509 8.1664893031 3.7590556568 7.3485474777 9.9914430827 481 481 481 481 481 481 481 481 481 481
11FEB2019:19:09:00 112114 8.5294209281 1.6220973455 7.9244413553 9.1218567034 7.1427283529 4.5025826711 2.4023903767 9.7427219199 9.1612814669 6.319673683 541 541 541 541 541 541 541 541 541 541
run;
data want_112115;
informat datetime datetime21.;
input datetime Nr temperature_1 temperature_2 temperature_3 temperature_4 temperature_5 temperature_6 temperature_7 temperature_8 temperature_9 temperature_10 pressure_1 pressure_2 pressure_3 pressure_4 pressure_5 pressure_6 pressure_7 pressure_8 pressure_9 pressure_10 ;
format datetime datetime21.;
cards;
11MAR2008:17:09:00 112115 7.3827899154 7.210859051 8.8476096536 4.682344154 9.9290248146 8.2291204389 8.0297554797 3.9942333312 9.6723125875 6.8582974235 601 601 601 601 601 601 601 601 601 601
15MAY2009:20:09:00 112115 0.6967037264 2.209698474 7.0656412118 3.4976043901 6.3166508637 4.1500182427 8.1335787382 0.5143562239 5.0487393979 3.2850281289 661 661 661 661 661 661 661 661 661 661
10MAR2011:05:09:00 112115 4.9747866485 7.05029523 1.1164530157 6.705195969 3.0150882155 3.6897646612 0.0299303746 1.6008544178 8.6340258014 9.5965762227 721 721 721 721 721 721 721 721 721 721
06FEB2012:04:09:00 112115 0.4850171693 3.0325717526 1.9730921229 9.1757692955 1.7643042444 2.2333751363 0.3155178041 5.5754801724 9.6805345081 0.4472889821 781 781 781 781 781 781 781 781 781 781
27MAR2012:14:09:00 112115 0.6278450065 4.8086930346 3.9867412089 4.087025465 4.2292779218 9.7946837055 9.5147549128 2.3544393363 6.5958845848 7.1473370702 841 841 841 841 841 841 841 841 841 841
03MAR2015:21:09:00 112115 3.0274132919 4.6789796697 3.2627761643 6.2627409864 9.4722208031 7.2383880219 8.4133591177 3.0224332935 2.2182885674 3.8854886894 901 901 901 901 901 901 901 901 901 901
20JAN2016:13:09:00 112115 8.8339482551 9.9984312756 3.6358541274 5.2535630809 3.2169948774 6.7585500027 0.8276014449 1.0962000792 3.3902002592 1.8370366748 961 961 961 961 961 961 961 961 961 961
05AUG2016:22:09:00 112115 8.216716242 8.7472304446 0.4472922022 5.6399317854 7.9897754826 1.4684082754 1.9898261293 4.106047512 8.7406910001 2.638587181 1021 1021 1021 1021 1021 1021 1021 1021 1021 1021
run;
Hi:
For proof of concept, only using 2 temperature variables:
Based on this library article: https://communities.sas.com/t5/SAS-Communities-Library/Splitting-a-SAS-data-set-based-on-the-value-o...
Hope this helps,
Cynthia
Hi:
For proof of concept, only using 2 temperature variables:
Based on this library article: https://communities.sas.com/t5/SAS-Communities-Library/Splitting-a-SAS-data-set-based-on-the-value-o...
Hope this helps,
Cynthia
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.