تحليل خدمات 2005 مكعبات OLAP :هل يمكنني إنشاء متميزة الاعتماد على قياس nvarchar عمود ؟

StackOverflow https://stackoverflow.com/questions/320405

  •  11-07-2019
  •  | 
  •  

سؤال

أحاول إنشاء مكعب مع قياس واحد.هذا الإجراء هو واضح عدد "اسم" عمود.المكعب يعمل تماما إذا كان القياس يتم تعيين إلى "الاعتماد" نوع.ومع ذلك عندما مجموعة متميزة العد يمكنني الحصول على هذا الخطأ:

"أخطاء في مشغل التخزين OLAP:للترتيب المحدد متميزة عدد السجلات غير صحيح"

قرأت في بعض المدونات التي يمكنك فقط متميزة الاعتماد على numeric.لا أرى سبب وجيه لذلك, وأنا لا يمكن العثور على هذه المعلومات على وثائق رسمية.ومع ذلك ، قد يكون صحيحا.على أي حال, أنا حقا عالقة مع هذه المسألة.ما هي الخيارات المتاحة ؟

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

المحلول

جوابي قد يكون متأخرا جدا بالنسبة لك ، ولكن نأمل أن يكون هذا يمكن أن تساعد الأخرى التي لديها نفس المشكلة.

  1. انتقل إلى عرض مصدر البيانات في "مستكشف الحلول"
  2. العثور على الجدول الذي يحتوي على GUID العمود الذي يحتاج الى المجمعة
  3. انقر بزر الماوس الأيمن على رأس الجدول المحدد واختر 'إنشاء اسمه حساب'
  4. تعطيه اسم
  5. اكتب ما يلي في التعبير الميدانية: يلقي(ColumnName كما varchar(36))

هذا الحل من هذا الرابط http://www.bi-dw.info/sql-server-tips/distinct_count-measure-on-uniqueidentifier.htm

نصائح أخرى

جوجل وخاصة Eggheadcafe جاء لإنقاذ مع الحل:

  • ربط إلى خدمات التحليل من SQL Server إدارة Studio
  • انقر على الحق في "خدمات تحليل" اسم الملقم (أي أعلى معظم خدمات تحليل الارتباط)
  • اختر خصائص
  • حدد عرض المتقدمة (كل) خصائص
  • العثور على الإعداد التالية
  • OLAP \ عملية \ CheckDistinctRecordSortOrder
  • تعيين هذه القيمة إلى 0
  • انقر فوق موافق
  • فتح OLAP في Visual Studio أو عروض الأسعار.
  • عملية المكعب.

وسأجيب نفسي، ربما يكون ذلك مفيدا لشخص آخر.

والجواب القصير هو نعم.

ولقد خلق بعض الجداول اختبار مع نفس الهيكل ولكن فقط بضعة صفوف الاختبار. المكعب يعمل تماما مع هذه البيانات.

وهكذا، أعتقد أن هناك بعض البيانات الفاسدة على الجداول الأصلية، أو ربما بعض أحرف نادرة.

وأنت على حق، يمكنك أن تفعل العد واضح على عمود NVARCHAR.

ويمكن أن يكون أن تفعل شيئا مع شخصيات غريبة أو مع الإعداد الترتيب الخاص بك.

هل يمكن أن تحاول معالجة مجموعات فرعية أصغر من مجموعة قياس في محاولة لعزل على التوالي المشكلة.

ويمكن أن يكون راجعا إلى إعدادات الترتيب. ملقم SQL له من قبل SQL_Latin1_General_CP1_CI_AS الافتراضي حيث كما يستخدم SSAS ويندوز ترتيب Latin1_General. إذا قمت بتغيير الترتيب على العمود الذي تقوم به عدد متميز وأعتقد أن حل المشكلة

وكان لي هذه المشكلة تحاول أن تجعل عدد متميز على عمود INT ID. بعد أن أمضى الأعمار يبحث في إعدادات الأعضاء غير محدد وإعدادات استخدام البعد، وجدت اقتراح آخر بأن التدابير عدد متميزة لا يحبون قيم فارغة. مضيفا WHERE IS NOT NULL عمود على استفسارات التقسيم لهذه المجموعة قياس عدد مميزة حل قضية بلدي.

وكان هذا الاقتراح: "أخطاء في مشغل التخزين OLAP: إن ترتيب محدد للسجلات العد متميزة غير صحيح

وتأكد من أن العمود distinctcount لا يحتوي بالقيم الخالية. إذا كان الأمر كذلك، وهذه يمكن أن حذفت من مجموعة قياس عن طريق الاستعلام في تعريف التقسيم (على افتراض قياس عدد متميزة في مجموعة قياس خاصة بها) "

وقدمت ديربي الإجابة الصحيحة في وضعي. في حالتي، كنت أحاول أن معالجة نموذج التعدين في SSDT (VS 2012)، وكنت الحصول على الخطأ.

وبدأ الخطأ بعد أن أدخلت بعض التصويبات على استعلام التي ولدت طاولة اعتدت كمصدر البيانات الخاصة بي. تخميني هو أنه قدم بعض بالقيم الخالية في مكان ما لم يكن لديك قبل أن التصويبات على استفسار بلدي، وبالتالي الجدول المصدر (نموذج التعدين معالجتها على ما يرام قبل ذلك). أنا غير قادر على التصويت حتى ديربي بسبب بلدي مستجد سمعته.

وكنت أواجه نفس المشكلة ووجدت أن هناك أحرف خاصة / الرموز في البيانات الخاصة بي والتي منعت من معالجة المكعب. على الأرجح، كان المكعب قادر على فرز البيانات مع أحرف خاصة.

وكنت قادرا على حل المشكلة عن طريق تحويل البيانات إلى سلسلة hashbyte باستخدام وظيفة التالية:

SUBSTRING(master.dbo.fn_varbintohexstr(HashBytes('MD5', [column_name])), 3, 32)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top