سؤال

حصلت على ملء FactTable مع 12 بحثًا عن طاولة الأبعاد للحصول على SK ، منها 6 إلى طاولات خافتة مختلفة والراحة 6 هي بحث عن نفس القابل للبحث (النوع II) أثناء البحث عن نفس المفتاح الطبيعي.

السابق:

primeObjectId => البحث إلى dimobject.objectid => الحصول على كائن

وحصلت على أعمدة أخرى تفعل نفس الشيء

OtherObjectId1 => lookup to dimobject.objectid => الحصول على كائن

OtherObjectId2 => lookup إلى dimobject.objectid => الحصول على كائن

OtherObjectId3 => lookup to dimobject.objectid => الحصول على كائن

OtherObjectId4 => lookup إلى dimobject.objectid => الحصول على كائن

OtherObjectId5 => lookup to dimobject.objectid => الحصول على كائن

لمثل هذا البحث المتعدد كيف ينبغي أن يذهب في حزمة SSIS الخاصة بي.

في الوقت الحالي ، أستخدم البحث عن البحث / Unionall Foreach. هل هناك طريقة أفضل لذلك.

هل كانت مفيدة؟

المحلول

أفترض أن ما تفعله هو البحث ، حيث تم إعادة توجيه الأخطاء إلى عمود مشتق لتعيين القيم الافتراضية للبحث الفاشل ، يليه اتحاد لكل من قيم العمود البحث/المشتقة. هذا النمط شائع إلى حد ما وأنا أستخدمه في المراحل المبكرة للمساعدة في تصحيح. ومع ذلك ، نظرًا لأن الاتحاد كله عبارة عن مكون حظر جزئيًا (أي أن الاتحاد كله يخلق مخزن مؤقت جديد عند تنفيذه ، ولكن بعد ذلك يمرر البيانات بمجرد وصوله) تكتم إنشاء مخازن مؤقتة جديدة في تدفق البيانات. عادةً ما أقوم بترميز سلسلة عمليات البحث لتجاهل الأخطاء ، وبعد آخرها ، سأقوم بتضمين مكون عمود مشتق يقوم باستبدال مع الافتراضي لجميع الأعمدة التي يتم تضمينها كأهداف للبحث. هذا يسمح بتدفق البيانات الأكثر كفاءة من خلال تدفق البيانات الخاص بك. لمزيد من المعلومات حول مكونات تدفق البيانات التي تمنعها أو حظرها ، انظر هذا المنشور: http://sqlblog.com/blogs/jorg_klein/archive/2008/02/12/SSIS-Lookup-transformation-is-case-sensitive.aspx

نصائح أخرى

لا أفهم سبب قيامك بحمل 2 بُعد.

عادةً ما قمنا بمعالجة جميع الأبعاد أولاً (باستخدام مكون المحاكاة لاستنتاج/انتهاء الأبعاد).

ثم تم تحميل جدول الحقائق ، وإجراء عملية بحث واحدة على كل بعد (في السلسلة) باستخدام مفاتيح الأعمال للعثور على مفاتيح البديل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top