هل يمكنني الحصول على بيانات علائقية في جدول محور Excel

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

سؤال

لديّ ورقة (دعنا نذهب مع النبيذ كمثال) تسرد كل زجاجة نبيذ في قبو ، عندما اشتريتها ، وكم دفعت ما دفعته وما إلى ذلك.

هناك عمود يصف النبيذ في علامات مفصولة فاصلة مثل "الفواكه ، الأبيض".

لقد قمت بإنشاء جدول محوري من تلك البيانات ، مع الوصف كعمود مرشح. ومع ذلك ، لا يمكنني تصفيةه بـ "الأبيض". لا بد لي من العثور على كل وصف يحتوي على "أبيض" مثل "جاف ، أبيض" ، "أبيض ، هش" إلخ.

كونه من خلفية RDBMS ، فإن ميلي الطبيعي هو وضع العلامات في طاولتهم الخاصة مع صف النبيذ حتى لا توجد صفوف علامات صفرية أو أكثر من صف النبيذ.

كيف ، كيف يمكنني استخدام ذلك على الأرض لتصفية صفوف النبيذ؟

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

المحلول

نعم ، يمكنك القيام بذلك داخل Excel ويمكن أن تظل حقول الوصف "جافة ، أبيض" ، وما إلى ذلك ، حيث لا تحتاج إلى تقسيم القيم المنفصلة للفاصلة.

دعنا نقول أن مصدر الجدول يشتمل على عمود نص للوصف ، وعمود رقم للقيمة وعمود الرقم للعام الشراء.

محورك هو الإعداد مع ما يلي

  • الحقول: الوصف والقيمة والسنة الشراء.

  • ملصقات الأعمدة: تم شراؤها العام

  • ملصقات الصف: الوصف
  • مجموع القيم: مجموع القيمة

يوجد مرشح تسمية منسد على ملصقات الصف - انقر فوق هذا ويجب أن يكون هناك خيار لتحديد مرشحات التسمية. حدد هذا ثم حدد يحتوي. يمكنك إدخال قول "أبيض" الذي سيختار جميع الأوصاف التي تحتوي على أبيض على سبيل المثال "جاف ، أبيض" ، "أبيض ، هش". يتضمن المرشح؟ لتمثيل شخصية واحدة و * لتمثيل أي سلسلة من الشخصيات.

هناك مرشحات ملصقات مماثلة "تبدأ بـ" و "نهايات" بالإضافة إلى نفي.

لقد جربت هذا في Excel 2007 ويجب أن يعمل أيضًا في عام 2003. أعتقد أنه في Excel 2003 ، يمكنك حتى الجمع بين المرشحات على سبيل المثال ، تحتوي على "أبيض" ولا تحتوي على "جاف" ولكن في عام 2007 لم أتمكن من العثور على طريقة للقيام بذلك.

نصائح أخرى

سامحني إذا كنت أقول ما هو واضح ، ولكن السبب في أنك تواجه مشاكل هنا هو أن عمود الوصف ليس في 1NF ، وواجهة Excel Pivot ليست مرنة بما يكفي للسماح بالبحث القائم على الأنماط.

سيكون أبسط خيار هو تطبيع CSV في سلسلة من الأعمدة ، كل منها يمثل سمة واحدة - عمود واحد لألوان النبيذ ، واحدة للحلاوة ، واحدة لبلد المنشأ وما إلى ذلك - وتطبيق المرشح عبر أعمدة متعددة. ومع ذلك ، إذا (كما يوحي تعليقك على السؤال) ، فإن النبيذ هو استعارة لمشكلتك الحقيقية ، فقد لا يكون لديك رفاهية إعادة النظر في تصميم البيانات المصدر.

قد يكون هناك احتمال آخر هو استخدام ماكرو (أو استعلام قاعدة بيانات - لست واضحًا من سؤالك ما إذا كنت قد قمت بتطبيق نظام العلامات بالفعل) لترتيب بيانات الإدخال على ورقة مصدر الجدول المحوري استنادًا إلى قيم العلامات التي تقوم بها تريد البحث عن ، ثم إعادة تنفيذ الجدول المحوري بناءً على تلك البيانات.

الاحتمال الثالث هو VBA المستخدمة في هذا السؤال, ، والذي يبدو أنه من شأنه أن يقوم بتصفية الصفوف المرئية لجدول المحور.

= if (iserr (find ("White" ، Upper (B5))) ، 0،1)

قم بإنشاء عمود إضافي وأضف صيغة. هناك 2 حيل لهذا. أحدهما هو البحث عن الأبيض في عمود الوصف باستخدام العلوي - للتغلب على حقيقة أن Excel Find حساسة للحالة. اثنان هو أنه يعيد خطأ في القيمة إذا لم تكن السلسلة موجودة - لذلك سيسمح لك ISERR بفخه والعودة في هذا المثال 0 إذا لم يحدث ذلك أو 1 إذا حدث ذلك. هل يمكن أن تحل محل البيض وفارغا لمدة 1 و 0.

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

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