دليل داخلي لتحويل العمود في SQL Server
عند معالجة الجداول التي تحتوي على عدد كبير من الأعمدة المتري ، يعد تحويل هذه الأعمدة إلى صفوف مفيدًا جدًا لأغراض التحليل والإبلاغ. يتضمن هذا التحول إعادة بناء البيانات لإنشاء جداول جديدة مع مخططات مختلفة.
بيان مشكلة
فكر في بنية الجدول التالية:
[ID] [EntityID] [Indicator1] [Indicator2] [Indicator3] ... [Indicator150]
الهدف هو تحويل هذه الأعمدة المتري إلى صفوف ، وبالتالي إنشاء جدول جديد مع المخطط التالي:
[ID] [EntityId] [IndicatorName] [IndicatorValue]
]]
الحل باستخدام unpivot
الحل الأنيق لإنجاز هذه المهمة هو الاستفادة من وظيفة unpivot. بناء جملة unpivot كما يلي:
UNPIVOT ([unpivot column] FOR [pivot column] IN ([pivot values]))
في هذا المثال ، يمثل العمود UNPIVOT قيمة المؤشر (على سبيل المثال ، "Iducator1" ، "Iducator2" ، إلخ) ، ويمثل العمود المحوري اسم العمود نفسه. يوضح الاستعلام التالي كيفية استخدام unpivot:
select id, entityId,
indicatorname,
indicatorvalue
from yourtable
unpivot
(
indicatorvalue
for indicatorname in (Indicator1, Indicator2, Indicator3)
) unpiv;
عن طريق إجراء هذا الاستعلام ، سيتم تحويل العمود المتري إلى صفوف وسيتم ملء الاسم والقيمة المتري مع العمود الجديد.
بدائل
بالإضافة إلى عدم البوبوت ، هناك طرق أخرى لتحويل الأعمدة إلى الصفوف:
يعتمد اختيار الحل على الاحتياجات المحددة وإصدار SQL Server المستخدم.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3