حل تحليلي للمدير

تعليقات في منشور حديث "ما مدى جودة النظام البيئي المفتوح المصدر لـ R لحل مشاكل العمل؟" أما بالنسبة للتنزيلات في Excel ، فقد أدت إلى فكرة أنه من المنطقي قضاء الوقت ووصف أحد الأساليب الممكنة المثبتة التي يمكن تنفيذها دون مغادرة R.


الوضع نموذجي للغاية. لدى الشركة دائمًا طرق N التي يحاول المديرون من خلالها إنشاء التقارير يدويًا في Excel. حتى إذا كانت مؤتمتة ، لا يزال هناك دائمًا موقف حيث يكون من الملح إجراء بعض القطع التعسفي الجديد أو تقديم عرض تقديمي لمدير معين في شكل معين.


وهناك عدد من قواميس excel المدعومة يدويًا لتحويل عرض البيانات في التقارير والعينات في المصطلحات الصحيحة.


نظرًا لحقيقة أنه لم يتم العثور على أداة مناسبة (ستكون كتلة الفروق الدقيقة الإضافية أقل) ، كان علي تكديس "المنشئ العالمي" على Shiny + R. نظرًا لعالمية الإعدادات وإمكانية تحديد المعلمات ، يمكن بسهولة إنشاء هذا المنشئ على أي نظام تقريبًا في أي مجال موضوع.


إنه استمرار للمنشورات السابقة .


بيان موجز للمشكلة


  1. كمصدر للبيانات التقنية ، هناك تخزين رئيسي من نوع OLAP (نركز على Clickhouse) ، والعديد من الإضافات (Postgre ، MS SQL ، REST API) ومراجع xml و json و xlsx اليدوية. نظرًا لحقيقة أن التحليلات المخصصة مطلوبة ، بما في ذلك حساب القيم الفريدة ، فمن الضروري العمل فقط مع بيانات المصدر ، وليس مع التجميعات.
  2. السجلات في قاعدة البيانات - مئات المليارات من الصفوف لكل عدة مئات من الأعمدة (الأحداث الزمنية) ، من المستحسن إجراء التحليل في وضع لا يزيد عن عدة عشرات من الثواني ، يمكن أن تكون الاستعلامات غير متوقعة تمامًا ، يتم تخزين البيانات في شكل تقني (الاختصارات الإنجليزية ، أرقام إدخالات القاموس ، إلخ. ) في الحالة المستهدفة ، من المتوقع ~ 200 تيرابايت من البيانات الأولية.
  3. الأحداث المتراكمة لها تفاصيل الإصدار ، أي حيث يعمل النظام ، تتراكم فيه المعلومات من إصدارات وإصدارات المصادر المختلفة التي تقدم تقارير عن نفسها بطرق مختلفة.
  4. يعمل المديرون بشكل جيد في التفوق ، ولكن لا يجب أن يعرفوا (ولا يمكنهم جسديًا) المكون التقني للنظام.

كيف تحل المشكلة


السيناريو العام للعمل بسيط للغاية. تلقى المدير مهمة عاجلة للقسم التحليلي - يقوم المدير بفتح التطبيق ، ويشكل عينات عشوائية من حيث مجال الموضوع - ينظر ويلوي النتيجة المجدولة - يفرغ النتيجة المرتبة في التفوق - يرسم صورة للإدارة. تم اختيار الراحة والبساطة لواجهة المستخدم كنقطة صفر.


  1. تم تصميم كل شيء كتطبيق لامع على شاشة واحدة مع قوائم التنقل والإشارات المرجعية.
  2. تنقسم جميع عناصر التحكم إلى 3 أجزاء:
    • الفلاتر (العالمية والخاصة). تحديد منطقة التحديد ، هناك 4 أنواع: قاموس القائمة المنسدلة ، التواريخ ، أجزاء النص ، النطاق الرقمي.
    • 3 مستويات من تداخل مجموعات الاستعلام
    • قائمة الكميات الإجمالية (أي الكميات).
  3. نظرًا لحقيقة وجود الكثير من الحقول في المصدر الأصلي (حوالي 2.5 مائة) ، ولكنك تحتاج إلى عرض كل شيء ، يتم تجميع عناصر التحكم في كتل مواضيعية.

مثال واجهة


مثال واجهة


ملف مثال مع معلومات التعريف


ملف مثال مع معلومات التعريف


"رقائق" مفيدة وراء الكواليس:


  1. مع تطور مصادر البيانات ، يتم تكوين الواجهة بالكامل ، بما في ذلك إنشاء عناصر التحكم ونصائح الأدوات ومحتويات التجمعات والمجموعات المتاحة وقواعد التصدير في excel وما إلى ذلك. مزينة على هيئة نموذج على شكل ملف اكسل. يسمح لك هذا بتعديل "المصمم" بسرعة للحقول الجديدة أو وحدات الحساب بدون تغييرات كبيرة (أو بدون تغييرات على الإطلاق) على شفرة المصدر.
  2. من الصعب أن نقول مقدمًا القيم التي يمكن أن تحدث في مجال معين ، والعثور على واحد ، لا أعرف ما هو أكثر صعوبة. يكاد يكون من المستحيل الحفاظ على جميع عناصر التحكم الديناميكية الـ 90 يدويًا. في بعض القوائم ، تتضمن المفردات عدة مئات من المعاني. لذلك ، يتم تحديث إدخالات القاموس لعناصر التحكم في الخلفية بناءً على البيانات المتراكمة في الخلفية.
  3. يحتاج المديرون إلى رؤية جميع الحقول والمحتويات باللغة الروسية. وفي المصادر ، يمكن تخزين هذه البيانات في شكل رسمي. لذلك ، يتم استخدام مزيج من تقنيات قاموس Clickhouse والمعالجة اللاحقة في اتجاهين لقيم الحقول على المستوى اللامع. يوفر على الفور معالجة جميع أنواع الاستثناءات للقواعد والفروق الدقيقة المنسوخة لمحتويات الحقول.
  4. للحماية من التحديدات غير الصحيحة ، تم إجراء اتصال متبادل بين القوائم للتجميع. يمكن تحديد المستوى 2 فقط إذا تم تعيين المستوى 1 ، والمستوى 3 ، فقط إذا تم تعيين المستوى 2. ويتم تخفيض قوائم القيم المتاحة ديناميكيًا مع مراعاة القيم المحددة بالفعل.
  5. عنصر مهم هو التحكم في عرض التحديد على الشاشة وأثناء التحميل اللاحق إلى التفوق. هنا أيضًا ، هناك عدد من الميزات في المعالجة اللاحقة التي تهدف إلى راحة الأداة للمدير:
    • دعم منظم لمصفوفة الرؤية في شكل ملف اكسل. تحدد هذه المصفوفة عرض أو إخفاء حقول معينة في التحديد ، اعتمادًا على المرشحات المثبتة.
    • تعديل ديناميكي لمحتوى العينة سطراً بسطر. بناءً على محتوى الحقول المختلفة ، يمكن تغيير محتويات حقل آخر (على سبيل المثال ، إذا تم تحديد 0 في حقل "كمية الطلب" ، فسيتم عرض سطر فارغ في الحقل "نوع الأمر".
    • إدارة عرض البيانات الشخصية. اعتمادًا على حقوق الوصول إلى الدور الذي تم تكوينه. يمكن عرض البيانات وقناعها جزئيا * .
    • إدارة الدقة. فقط لأذكر. عرض 10 منازل عشرية - Moveton ، ولكن هناك حالات عندما تكون دقة منزلين عشريين غير كافية. 80٪ من الكائنات ، على سبيل المثال ، لديها نسبة 0.00% - تحتاج إلى زيادة الأحرف المهمة عند التقريب ، بحيث يكون الفرق بين الخطوط مرئيًا. ويجب أن يتقارب المبلغ عند التفريغ في التفوق (من المتوقع بشكل معقول الكمية عبر جميع الخطوط في العمود الكسري في منطقة 100٪).
    • توفير الوصول إلى الدور على مستوى عناصر تحكم المحتوى المتاحة. يتم التحكم في حقوق الوصول من خلال ملف التكوين json.
  6. تحكم ديناميكي في عمق الطلب. في حالة عدم تحديد مجموعات وتجميعات (تجري الدراسة وتحتاج فقط إلى إرجاع البيانات الأولية التي تقع تحت المرشحات المثبتة) ، يتم تمكين الحماية ضد التحميل الزائد للواجهة الخلفية. يمكن للمستخدم تعيين النطاق الزمني للبحث في عام واحد ، ولكنه يحتاج حقًا إلى آخر 1000 سجل من التحديد. مع العلم أن ملايين السجلات تصل يوميًا ، يتم أولاً تنفيذ طلب تجريبي لتقليل العمق (قبل 3-7 أيام). إذا كان عدد الصفوف المستلمة غير كافٍ (شروط التصفية الصارمة) ، يتم تشغيل استعلام كامل لكامل الفترة الزمنية.
  7. تفريغ العينات المستلمة بصيغة اكسل. يتم تنسيق كل شيء ، كل شيء باللغة الروسية ، مصحوبًا بورقة منفصلة مع تحديد جميع معلمات العينة ، بحيث يمكنك بسهولة فهم كيفية الحصول على هذه النتيجة أو تلك.
  8. يتم الاحتفاظ بسجل مفصل في التطبيق ، بحيث يمكنك الحصول على فكرة عن كل من إجراءات المستخدم وتشغيل ميكانيكا حجرة المحرك.

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


بطبيعة الحال ، يجب إعطاء رابط للمنتج مع الأخذ بعين الاعتبار مجموعة كاملة من المتطلبات المتقدمة. حسنًا ، يفضل أن يتم ذلك فورًا مع تقييم البنية التحتية المطلوبة. بالنسبة لهذا الخيار ، يكفي خادمان أو ثلاثة خوادم متوسطة السعة (64-128 جيجابت ؛ 12-20 وحدة معالجة مركزية أساسية ، قرصًا بناءً على كمية البيانات) للمجمع بأكمله. لم يكن ELK مناسبًا ، لأن المهمة الرئيسية هي التحليلات العددية ، ولا تعمل مع النص.


مجموعة المتطلبات التفصيلية


أدناه ، للحصول على معلومات ، يتم تقديم قائمة تفصيلية لمتطلبات الوحدة التحليلية في الجزء من الواجهات بين الآلة والآلة والآلة ("مصمم التقرير" ليس سوى جزء).


استيراد / تصدير / بيئة


  1. يتم توحيد ملفات السجل وهيكلتها فقط من حيث الطوابع الزمنية والوحدات والأنظمة الفرعية. يجب أن يقوم النظام بمعالجة ملفات السجل ذات المحتوى التعسفي لمحتوى الرسالة (نص السجل للتسجيل) ، ودعم كل من هيكل السجل المنظم وغير المنظم للتسجيل.
  2. لإثراء البيانات ، يجب أن يكون لدى النظام محولات استيراد لأنواع مصادر البيانات التالية على الأقل:
    • ملفات مسطحة (csv ، txt)
    • ملفات منظمة xml و json و xlsx
    • مصادر متوافقة مع odbc ، خاصة MS SQL و MySQL و PostgreSQL
    • البيانات المقدمة من خلال REST API.
  3. يجب أن يدعم النظام كلاً من الاستيراد والاستيراد التلقائي بناءً على طلب المستخدم. عند استيراد بيانات المستخدم ، يجب أن يوفر النظام:
    • امكانية التحقق الفني من البيانات المستوردة (صحة عدد الحقول وانواعها واكتمالها ووجود القيم
    • إمكانية التحقق المنطقي (محتوى الحقول ، التحقق ، التحقق المتبادل ، ...)
    • القدرة على تكوين معلمات التحقق (في أي شكل) وفقًا لمنطق إجراء الاستيراد ؛
    • تقرير مفصل عن الأخطاء التقنية والمنطقية المكتشفة ، مما يتيح للمشغل تحديد الأعطال وإزالتها بسرعة في البيانات المستوردة.
  4. يجب أن يدعم النظام تصدير النتائج ، على الأقل ، بالتنسيقات التالية:
    • تصدير البيانات إلى ملفات مسطحة csv و txt
    • تصدير البيانات إلى ملفات xml و json و xlsx المنظمة
    • تصدير البيانات إلى مصادر متوافقة مع odbc ، على وجه الخصوص ، MS SQL و MySQL و PostgreSQL
    • توفير الوصول إلى البيانات عبر بروتوكول REST API
  5. يجب أن يكون لدى النظام وظائف لإنشاء تقارير مطبوعة:
    • مجموعة متماسكة من النص والتمثيلات المجدولة والتمثيلات الرسومية في مستند واحد وفقًا لنموذج تم تكوينه مسبقًا (سرد القصة) ؛
    • تشكيل جميع العناصر المحسوبة (الجداول والرسوم البيانية) في وقت إنشاء نموذج الطباعة ؛
    • استخدام المصادر والأدلة الخارجية المطلوبة في إعداد تقرير في وضع الطيران وفقًا لأي بروتوكولات مذكورة أعلاه ، دون تكامل البيانات ونسخها
    • تصدير التقارير التي تم إنشاؤها بتنسيق html و docx و pdf
    • يجب دعم تشكيل التمثيلات المطبوعة عند الطلب وفي الخلفية ، وفقًا لجدول زمني.
  6. يجب أن يحتفظ النظام بسجل مفصل للحسابات أو إجراءات المستخدم النشط أو التفاعل مع الأنظمة الخارجية.
  7. يجب تثبيت النظام في الموقع.
  8. يجب أن يتم التثبيت والتشغيل اللاحق مع عزل كامل للنظام عن الإنترنت.

الحسابات


  1. يجب أن يدعم النظام حساب المقاييس الإجمالية (الحد الأدنى ، الحد الأقصى ، المتوسط ​​، الوسيط ، الأرباع) لفاصل زمني تعسفي في وضع في وضع قريب من الوقت الفعلي.
  2. يجب أن يدعم النظام حساب المقاييس الأساسية (عدد القيم ، عدد القيم الفريدة) لفاصل زمني تعسفي في وضع قريب من الوقت الفعلي.
  3. عند حساب البيانات المجمعة ، يجب تحديد فترات التجميع من قبل المستخدم من نطاقات محددة مسبقًا: 5 دقائق ، 10 دقائق ، 15 دقيقة ، 20 دقيقة ، 30 دقيقة ، ساعة واحدة ، ساعتان ، 24 ساعة ، أسبوع واحد ، شهر واحد
  4. يجب أن يشتمل النظام على مُنشئ لتكوين عينات عشوائية. يجب تحديد تركيبة العمليات المحتملة بواسطة بيانات بيانات محددة مسبقًا. يجب أن يدعم المنشئ الإعدادات الدنيا التالية:
    • دعم عامل التصفية للتواريخ: [بداية فترة إعداد التقارير - نهاية فترة إعداد التقارير]
    • دعم عامل التصفية (القوائم المنسدلة) مع التحديد المتعدد للحقول التي تم تعدادها (على سبيل المثال ، المدن: موسكو ، سانت بطرسبرغ ، ...)
    • تشكيل تلقائي لمحتويات القوائم المنسدلة لمرشحات الحقول التي لا تعد ولا تحصى استناداً إلى الدلائل الخارجية الديناميكية أو البيانات المتراكمة.
    • دعم ما لا يقل عن ثلاثة مستويات من التجميع المتسلسل للبيانات في العينة المطلوبة ؛ يتم تعيين المعلمات لتجميع أنفسهم من قبل المستخدم من قائمة مجموعة البيانات المتاحة على مستوى metamodel.
    • تقييد الحقول المتاحة للتجميع على مستوى واحد أو آخر ، مع الأخذ بعين الاعتبار الحقول المحددة في مستويات أعلى من التجميع (على سبيل المثال ، إذا تم اختيار "المدينة" في المستوى الأول ، يجب ألا تكون هذه المعلمة متاحة في المستوى الثاني أو الثالث مستويات تجميع م)
    • إمكانية التجميع حسب معلمات الوقت المعزز: يوم الأسبوع ، مجموعة الساعات (11-12 ؛ 12-13) ، الأسبوع
    • دعم المجاميع الأساسية المحسوبة: (الحد الأدنى ، الحد الأقصى ، المتوسط ​​، الوسيط ، الكمية ، عدد العناصر الفريدة) ؛
    • دعم مرشحات الاختبار لتوفير البحث عن النص الكامل في التحديد ؛
    • الدعم في مرحلة عرض إثراء وتحويل البيانات التي تم الحصول عليها عند الطلب بناءً على البيانات من الدلائل أو المصادر الخارجية.
  5. يجب أن يكون لدى النظام آليات لحساب المقاييس في الإحداثيات المكانية (sp = النقطة المكانية) لدعم التحليلات الجغرافية.
  6. بالنسبة لمقاييس الوقت (المعاملات ، العمليات ، الاستعلامات ، ...) ، يجب على النظام حساب وعرض كثافة توزيع وقت تنفيذ الاستعلام.
  7. يجب تنفيذ جميع المؤشرات المحسوبة لجميع الكائنات ككل ، وكذلك بالنسبة للعينات الفرعية التي يضعها المستخدم باستخدام الفلاتر
  8. يجب أن يقوم النظام بجميع الحسابات في الذاكرة.
  9. تحتوي جميع الأحداث على طابع زمني ، لذلك يجب أن يدعم النظام العمل مع كل من السلاسل الزمنية المتساوية والخطيرة.
  10. يجب أن يدعم النظام القدرة على تكوين وتمكين آليات استعادة البيانات المفقودة في السلاسل الزمنية (خوارزميات مختلفة) ، وتحديد الحالات الشاذة ، والتنبؤ بالسلسلة الزمنية ، والتصنيف / التجميع.

جزء الواجهة


  1. يجب ترجمة واجهة المستخدم بالكامل ، بما في ذلك محتويات الرسوم البيانية وعناصر الجدول.
  2. بالنسبة لعناصر التحكم والأعمدة للتمثيلات الجدولية ، يجب دعم إمكانية تشكيل تلميحات الأدوات مع وصف تفصيلي (نصيحة تحوم) ، تم تشكيلها بطريقة ثابتة وديناميكية (على سبيل المثال ، في تلميح الأدوات قد تكون المعلمات المستخدمة في الحساب) ، يجب دعمها.
  3. يجب إنشاء واجهة مكان العمل فقط باستخدام تقنيات HTML و CSS و JS ، دون استخدام تقنيات قديمة أو تعتمد على النظام الأساسي أو غير قابلة للنقل ، مثل Adobe Flash و MS Silverlight وما إلى ذلك.
  4. يجب عرض الوقت على المخططات بتنسيق 24 ساعة.
  5. يجب أن تدعم معلمات عرض البيانات على المحاور التحجيم التلقائي (تكرار التسميات وتنسيق العرض) اعتمادًا على نطاق القيم. من الأمثلة النموذجية عرض الساعات بنطاق قياس في غضون يوم واحد ، وعرض الأيام بنطاق قياس في غضون أسبوع.
  6. يجب أن يدعم النظام ، كحد أدنى ، تنسيقات عرض الرسومات الذرية التالية:
    • الرسم البياني (شريط)
    • سبوت
    • الخطي
    • خريطة التمثيل اللوني
    • ملامح (ملامح)
    • المخططات الدائرية
  7. يجب أن يدعم النظام القدرة على وضع العلامات بذكاء تلقائيًا (على سبيل المثال ، القيم) لمجموعة فرعية معينة من النقاط بحد أدنى من التداخل بين هذه العلامات.
  8. يجب أن يدعم النظام إمكانية الجمع بين تمثيل رسومي واحد للبيانات التي تم الحصول عليها من مصادر بيانات مختلفة. يجب دعم القدرة على تحديد تنسيقات عرض الرسومات الذرية المختلفة لكل مصدر بيانات ، بشرط أن تتطابق محاور الإحداثيات ونوع نظام الإحداثيات.
  9. يجب أن يدعم النظام توزيع الواجهة الرسومية الذرية (تقسيم الرسوم البيانية على الشبكة M x N) لمتغير معلمات معين. في عرض الواجهة ، لكل رسم بياني ، يجب أن يكون القياس المستقل لكل من المحور X والمحور Y ممكنًا.
  10. يجب أن تدعم الرسوم البيانية معلمات الخصائص التالية:
    • اللون
    • نوع الخط أو النقطة
    • سمك الخط أو مخطط النقطة
    • حجم النقطة
    • الشفافية
  11. بالنسبة لمهام التحليل الجغرافي للبيانات ، يجب أن يدعم النظام العمل مع ملفات الأشكال ، بما في ذلك الاستيراد ، والعرض ، واللون ذي معلمات المنطقة والتأكد من أن العناصر الرسومية المختلفة والمؤشرات المحسوبة متراكبة على geopod المتولدة.
  12. يجب أن تدعم عناصر التحكم في واجهة المستخدم (القوائم والحقول واللوحات وما إلى ذلك) التغيير الديناميكي لمحتواها اعتمادًا على حالة العناصر الأخرى. على سبيل المثال ، عند اختيار منطقة معينة ، يجب أن يقتصر محتوى عنصر اختيار المدينة على قائمة المدن المدرجة في المنطقة.
  13. ينبغي دعم نموذج دور الوصول إلى تطبيقات إعداد التقارير:
    • دعم metamodel للبيانات لتوفير وصول الدور على مستوى عنوان url (ممكن / مستحيل)
    • دعم نموذج بيانات البيانات لتوفير الوصول القائم على الأدوار على مستوى المحتوى لعنصر التحكم (على سبيل المثال ، يتم تحديد قائمة العناصر المتاحة في القوائم المنسدلة من خلال المسؤولية الإقليمية للمدير)
    • دعم النموذج الأساسي للبيانات لضمان الوصول المستند إلى الأدوار على مستوى تصور البيانات الشخصية (على سبيل المثال ، إخفاء "*" جزء معين من أرقام البريد الإلكتروني أو الحقول الأخرى)

الخلاصة


الغرض الرئيسي من المنشور هو إظهار أن إمكانيات R تمتد بقوة خارج حدود الإحصاءات الكلاسيكية. يتم فحصه عمليا ، ليس من الضروري التضحية بالجودة أو الوظيفة.


الوظيفة السابقة - "ما مدى جودة النظام البيئي المفتوح المصدر لـ R لحل مشاكل العمل؟" .

Source: https://habr.com/ru/post/ar416673/


All Articles