मुझे सैद्धांतिक उत्तर की आवश्यकता है।एसएएस, प्रो सारांश में कौन से आंकड़ों की गणना तेजी से की जाती है?
कल्पना कीजिए कि आपके पास 1.5 बिलियन पंक्तियों वाली तालिका है (तालिका को डीबी 2-ब्लू के साथ कॉलम-आधारित के रूप में बनाया गया है)।
आप एसएएस का उपयोग कर रहे हैं और आप Proc Summary
का उपयोग करके न्यूनतम/अधिकतम/औसत मान, मानक विचलन मूल्य और प्रतिशत -10, प्रतिशत -90 अपने सहकर्मी समूहों के माध्यम से कुछ आंकड़े करेंगे।
उदाहरण के लिए, आपके पास 30,000 सहकर्मी समूह हैं और आपके पास प्रत्येक सहकर्मी समूह (कुल 1.5 अरब मूल्य) में 50,000 मूल्य हैं।
अन्य मामले में आपके पास 3 मिलियन सहकर्मी समूह हैं और आपके पास प्रत्येक सहकर्मी समूह में 50 मान हैं। तो आपके पास फिर से 1.5 अरब मूल्य हैं।
यदि आपके पास कम सहकर्मी समूह हैं लेकिन प्रत्येक सहकर्मी समूह में अधिक मूल्य हैं तो यह तेज़ी से बढ़ेगा? या यह अधिक सहकर्मी समूहों के साथ तेजी से चलेगा लेकिन प्रत्येक सहकर्मी समूह में कम कम मूल्य होगा।
मैं पहले मामले (30,000 सहकर्मी समूह और प्रति पीयर समूह के 50,000 मूल्य) का परीक्षण कर सकता था और इसमें लगभग 16 मिनट लग गए। लेकिन मैं दूसरे मामले के लिए परीक्षण नहीं कर सकता।
क्या आप रन-टाइम के लिए अनुमानित प्रोनोज़ लिख सकते हैं यदि मेरे पास 3 मिलियन पीयर-समूह हैं और प्रत्येक सहकर्मी समूह में 50 मान भी हैं?
प्रश्न के लिए एक और आयाम। यदि मैं Proc SQL
का उपयोग करता हूं तो क्या उन आंकड़ों को करने में तेज़ी होगी?
उदाहरण कोड के नीचे है:
proc summary data = table_blu missing chartype;
class var1 var2; /* Var1 and var2 are toghether peer-group */
var values;
output out = stattable(rename = (_type_ = type) drop = _freq_)
n=n min=min max=max mean=mean std=std q1=q1 q3=q3 p10=p10 p90=p90 p95=p95
;
run;
डेटा प्रति समूह के अनुसार क्रमबद्ध या प्रति समूह पर एक सूचकांक है है? क्या आप 'क्लास' या 'BY' कथन का उपयोग कर रहे हैं? – DomPazz
@DomPazz हमारे सिस्टम प्रशासक ने कहा कि डीबी 2-ब्लू (कॉलम-आधारित) में अनुक्रमण के लिए कोई आवश्यकता नहीं है, इसके पास कुछ प्रकार का स्मार्ट समाधान है। यह वास्तव में अनुक्रमित पंक्ति-आधारित तालिका की तुलना में दोगुनी तेजी से perfomed। – user3714330
@DomPazz मैं 'प्रो सारांश' में 'कक्षा' का उपयोग कर रहा हूं – user3714330