PostrgreSQL Crosstab ماڈیول کا استعمال کیسے کریں۔

Postrgresql Crosstab Ma Ywl Ka Ast Mal Kys Kry



جب آپ PostgreSQL ٹیبل سے ریکارڈز کو بازیافت کرنے کے لیے SELECT اسٹیٹمنٹ چلاتے ہیں، تو ڈیٹا ٹیبلر شکل میں واپس آ جاتا ہے۔ ٹیبلر فارم ڈیٹا کو پڑھنے کے لیے ہمیشہ بہترین نہیں ہو سکتا، خاص طور پر جب آپ اقدار کا موازنہ کرنا چاہتے ہیں۔ ایک بہتر طریقہ یہ ہے کہ ریکارڈز کو کراس ٹیب کے طور پر واپس کیا جائے۔ اس کے لیے، PostgreSQL ٹیبل فنک پیش کرتا ہے تاکہ صارفین کو کراس ٹیب فنکشن کا استعمال کرتے ہوئے ہدف کے ڈیٹا کو پیوٹ ٹیبل کے طور پر پیش کیا جا سکے۔ یہ پوسٹ مزید وضاحت کرتی ہے کہ PostgreSQL کراس ٹیب فنکشن کو کیسے استعمال کیا جائے۔ پڑھیں!

PostgreSQL Crosstab ماڈیول کے ساتھ کام کرنا

یہ بتانے کے لیے ایک کمرہ رکھنا آسان ہے کہ آپ اپنے ڈیٹا کی نمائندگی کس طرح کرنا چاہتے ہیں۔ PostgreSQL کے ساتھ، اگرچہ ڈیفالٹ طریقہ یہ ہے کہ ڈیٹا کو ٹیبلر شکل میں رکھا جائے، کراس ٹیب ماڈیول آپ کو ایک اور آپشن فراہم کرتا ہے۔ آپ بہتر پریزنٹیشن کے لیے PostgreSQL ٹیبل سے 'منتخب' کالم استعمال کر کے پیوٹ ٹیبل بنا سکتے ہیں۔

حیرت انگیز خصوصیت PostgreSQL ورژن 8.3 کی توسیع کے طور پر آتی ہے۔ 'ٹیبل فنک' ایکسٹینشن کراس ٹیب فنکشن پیش کرتی ہے، جس سے آپ کے رزلٹ سیٹ کے طور پر پیوٹ ٹیبلز کا ہونا ممکن ہوتا ہے۔ آئیے ایک مثال دیتے ہیں۔







سب سے پہلے، ہم درج ذیل کمانڈ کا استعمال کرتے ہوئے تین کالموں کے ساتھ 'نتائج' ٹیبل بناتے ہیں۔





بنائی گئی میز خالی ہے۔ اس طرح، آگے بڑھیں اور INSERT استفسار کو اس میں اقدار شامل کرنے کے لیے استعمال کریں۔ اس معاملے کے لیے، ہم چند اندراجات داخل کرتے ہیں جیسا کہ درج ذیل میں دکھایا گیا ہے۔





اگر ہم 'منتخب' بیان چلاتے ہیں، تو ہمیں درج ذیل نتائج ملتے ہیں۔ نوٹ کریں کہ ریکارڈز کو بازیافت کرنے کا یہ طے شدہ طریقہ انہیں ٹیبلر شکل میں کیسے پیش کرتا ہے۔ کالم ہیڈر کے طور پر استعمال ہوتے ہیں اور ان کی متعلقہ اقدار قطاروں میں ظاہر ہوتی ہیں:



اگرچہ پچھلا طریقہ زیادہ تر کیسز کے لیے کام کرتا ہے، لیکن اسی ریکارڈ کو بازیافت کرنے کا ایک اور آپشن موجود ہے۔ اس معاملے کے لیے، ہم ایک پیوٹ ٹیبل بنانا چاہتے ہیں۔ لہذا، ہم 'ٹیبل فنک' ایکسٹینشن استعمال کرتے ہیں جو PostgreSQL ورژن 8.3+ کے ساتھ آتا ہے۔


تو، آئیے ایک 'ٹیبل فنک' ایکسٹینشن بناتے ہیں تاکہ ہم اسے استفسار میں کال کرتے وقت اسے فعال کریں۔ درج ذیل کمانڈ پر عمل کریں:

اگر ٹیبل فنک موجود نہیں ہے تو ایکسٹینشن بنائیں ;

آپ کو معلوم ہو جائے گا کہ ایکسٹینشن کامیابی کے ساتھ فعال ہو گئی ہے جب آپ کو پچھلی تصویر جیسا آؤٹ پٹ ملتا ہے۔

ہمارے کراس ٹیب فنکشن کے لیے، آئیے اسے اس طرح بنائیں کہ پہلا کالم فیکلٹی ہو۔ ذیل میں مختلف فیکلٹیز ہیں جو ہمارے ٹیبل میں موجود ہیں۔ فیکلٹی کالم کے آگے، ہمارے پاس دوسرے کالم ہیں جو ہمارے ٹیبل کے زمرہ کالم میں مختلف اقدار کی نمائندگی کرتے ہیں۔ آخر میں، ہر زمرے کے لیے، ہمارے پاس مختلف زمروں میں حاصل کرنے والے طلباء کی تعداد ہے۔

ایسی پیوٹ ٹیبل حاصل کرنے کے لیے، درج ذیل نحو کا استعمال کریں:

منتخب کریں۔ * CROSSTAB سے ( کالم 1 کو منتخب کریں۔ ، کالم 2 ، کالم 3 ٹیبل_نام سے ORDER BY criteriaa' )

AS new_name ( کالم 1 ڈیٹا_قسم ، کالم 2 ڈیٹا_قسم ، کالم_n ڈیٹا_قسم ) ;

مثال کے جدول کا استعمال کرتے ہوئے جو ہم نے بنایا ہے، ہماری کمانڈ اس طرح نظر آتی ہے:

اس سے پہلے کہ ہم نتائج دیکھیں، آئیے کراس ٹیب ماڈیول کمانڈ کیسے کام کرتی ہے اس پر ایک بریک ڈاؤن کرتے ہیں۔ سب سے پہلے، SELECT اسٹیٹمنٹ تین کالم لوٹاتا ہے۔ پہلے کالم کو قطار شناخت کنندہ کے طور پر سمجھا جاتا ہے۔ ہمارے معاملے میں، یہ 'فیکلٹی' کالم ہے۔ دوسرا کالم، جو کہ 'زمرہ' کالم ہے، پیوٹ ٹیبل کے زمروں کی نمائندگی کرتا ہے۔ آخر میں، تیسرے کالم میں زمرہ جات کی قدریں شامل ہیں۔ ہمارے معاملے میں، یہ ہر زمرے میں طلباء کی تعداد ہے۔

اس بات کو سمجھنے کے بعد، ایک بار جب ہم 'Enter' کی کو دباتے ہیں، تو ہمیں مندرجہ ذیل پیوٹ ٹیبل ملتا ہے:

لوٹے گئے پیوٹ ٹیبل کی بنیاد پر، ہم دیکھ سکتے ہیں کہ یہ 2-D اری کی طرح کام کرتا ہے جہاں SELECT اسٹیٹمنٹ میں پہلا کالم پہلی صف ہے اور دوسرا کالم طول و عرض میں دوسری صف ہے۔ تیسرے کالم میں دوسری صف کے عناصر کی قدریں شامل ہیں۔

نتیجہ

PostgreSQL کراس ٹیب ٹیبل کی اقدار کو پیوٹ ٹیبل کے طور پر پیش کرنے کے لیے اچھا ہے۔ کراس ٹیب ماڈیول کو استعمال کرنے کے لیے آپ کو اپنے SELECT سٹیٹمنٹ میں تین کالم واپس کرنے ہوں گے، اور اس پوسٹ نے اسے استعمال کرنے کے بارے میں ایک عملی مثال شیئر کی ہے۔ اس کے علاوہ، ہم نے وضاحت کی کہ کراس ٹیب ماڈیول پیوٹ ٹیبل بنانے میں کس طرح کام کرتا ہے جو 2-D صف کے طور پر وہی منطق استعمال کرتا ہے۔