مجموع بيانات شهرين ولإظهار أحدث بيانات الشهر، أعلى 50


لدي جدول يحتوي على Partno,location, col1,col2,measur1,measure2,measure3. استنادًا إلى Measure3، يجب أن يُظهر أفضل 100 سجل.

الشيء هو جدول تحميل شهرين من البيانات. على سبيل المثال. تحميل بيانات يناير + فبراير. بناءً على الجزء والموقع، إذا كان هناك أي سجلات مكررة يجب أن تأخذ أحدث سجل. في استعلام SQL العمل. في استعلام SQL جمع بيانات شهرين، أي. jan =dec+jan، feb =feb+jan، الترتيب عليها والحصول على المرتبة الأولى. وبهذه الطريقة تحصل على أحدث سجل. كيف يتم تحقيق ذلك في power bi باستخدام dax. لا يوجد جدول تاريخ أو عمود. وجود شهر. على سبيل المثال:nov2023=23، dec2023=24، jan2024=25، feb2024=26، mar2024=27، وهكذا.

وجود قطاعات القطع والموقع. وفي الجدول يجب إظهار الرقم التسلسلي من 1 إلى 100 لتلك السجلات.

ما حاولت:

تم إنشاء مقياس لإظهار أعلى 50. لا بأس، ولكن يلزم الحصول على أحدث سجل.

الحل 1

أنت بحاجة ماسة إلى تغيير قاعدة البيانات الخاصة بك لتحقيق ذلك بأي طريقة ذات معنى: تخزين البيانات المستندة إلى التاريخ في سلاسل يعد دائمًا فكرة سيئة وتعتمد مقارنات السلاسل دائمًا على أول زوج مختلف من الأحرف – ولا يتم حتى النظر إلى الأحرف اللاحقة. فيكون الترتيب كالتالي:

apr2022
apr2023
aug2022
aug2023
dec2022
dec2023
feb2022
feb2023
jan2022
jul2022
jul2023
jun2022
jun2023
mar2022
mar2023
may2022
may2023
nov2022
nov2023
oct2022
oct2023
sep2022
sep2023

وهو أمر عديم الفائدة إلى حد كبير.

على الرغم من أنه من الممكن القيام بذلك، إلا أنه يتطلب الكثير من الجهد – والحظ: اسم شهر فرنسي أو ألماني واحد سوف يفسد الكود الخاص بك على سبيل المثال.

ستتيح لك وظيفة CAST القيام بذلك:

SQL
CAST('oct2023' AS DATE)

سيعطيك 01-10-2023 ولكنه سيضيف الكثير من المعالجة والتعقيد إلى استفساراتك – جميعها – ولن يمنحك الطلب الذي تحتاجه خلال كل شهر لأن بياناتك لا تحتوي عليه: جميع التواريخ ستكون أول الشهر. وسوف يصل إلى الأداء بالإضافة إلى زيادة عدد الصفوف.

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

コメント

タイトルとURLをコピーしました