و تمام!
نحوه استفاده از متابیس برای ساخت یک ابزار lookup داخلی برای پیدا کردن سریع جزئیات درباره مشتریان، سفارشها، یا سایر دادههای خود.
ساخت یک ابزار lookup رکورد با متابیس
نحوه استفاده از متابیس برای ساخت یک ابزار lookup داخلی برای پیدا کردن سریع جزئیات درباره مشتریان، سفارشها، یا سایر دادههای خود.
درباره برخی از راههای جالب استفاده مشتریان از متابیس نوشتیم، و یکی از آنها استفاده از متابیس به عنوان یک راهحل برای اپلیکیشنهای داخلی یا back office، مثل یک ابزار lookup مشتری است. به جای ساخت صفحههای سفارشی برای lookup اطلاعات مشتری، اطلاعات سفارش، یا سایر رکوردهای مهم برای سازمان خود، میتوانید به سادگی یک instance متابیس spin up کنید و یک داشبورد بسازید که به مشتریان اجازه pull up سریع اطلاعات مرتبط با یک شماره سفارش، SKU، نام، یا فیلد دیگر را میدهد.
در این مقاله، نحوه ساخت یک ابزار lookup مشتری ساده با استفاده از پایگاه داده نمونه شامل شده با متابیس را مرور میکنیم. برخی از ویژگیهایی که متابیس out of the box به شما میدهد، و همچنین برخی چیزهایی که میتوانید برای سفارشی کردن ابزار lookup خود انجام دهید را نشان میدهیم. داده در پایگاه داده نمونه نسبتاً پایه است، اما سعی میکنیم یک داشبورد که تقریباً نوع ابزاری که واقعاً در wild میسازید و استفاده میکنید را کنار هم بگذاریم. میتوانید متابیس را دریافت کنید و همراه باشید، یا فقط بخوانید تا ایدههایی برای ساخت ابزارهای خود دریافت کنید.
در اینجا ابزار lookup تمام شده ما در عمل:

اهداف برای ابزار lookup مشتری
هدف ما اینجا داشتن یک فهرست تعاملی از مشتریان ما است که وقتی از ticketهای کمک یا سایر کارهای مرتبط با مشتری میگذریم مفید خواهد بود. کلیک روی ID برای آوردن جزئیات درباره آن مشتری، و سپس pull up سفارشهای قرار داده شده توسط آن مشتری.
برای آن هدف، میخواهیم فهرست خود را قابل مرتبسازی و فیلترپذیر کنیم، و میخواهیم قادر به drill down برای دیدن رکوردهای فردی باشیم. در اینجا برخی چیزهایی که میخواهیم درباره مشتریان خود بدانیم:
- نام، ایمیل، شهر، و state
- چقدر پول با ما خرج کردهاند
- مقدار کل تخفیفهایی که به آنها دادهایم
همچنین میخواهیم قادر به lookup مشتریان بر اساس name یا ID آنها باشیم.
پس در اینجا برنامه سطح بالا برای ساخت ابزار ما:
- اهداف برای ابزار lookup مشتری
- ایجاد فهرست ما
- افزودن سؤال ما به یک داشبورد
- افزودن فیلترها به داشبورد
- سفارشی کردن رفتار کلیک
- جاسازی ابزار در wiki یا اپلیکیشن خود
- و تمام!
ایجاد فهرست ما
از نوار ناوبری اصلی، + New را انتخاب میکنیم و به دنبال آن Question > Raw Data > Sample Database > جدول People (از آنجایی که به اطلاعات مشتری علاقهمندیم). اگر روی Visualize کلیک کنیم، متابیس مقداری علم انجام میدهد، و یک تجسم جدول کوچک خوب از رکوردها در جدول People دریافت میکنیم.

متابیس از قبل مقداری کار برای ما انجام داده است. به عنوان مثال، کلیک روی ID در یک ردیف ما را به یک صفحه جزئیات میبرد.

چیز خاصی نیست، اما خوب است که داشته باشیم، چون خواندن اطلاعات را آسانتر میکند. در واقع، کمی خاص است. فیلد ID که روی آن کلیک کردیم یک entity key است، که یک فیلد در یک جدول است که هر ردیف جدول را به طور یکتا شناسایی میکند، در این مورد یک ردیف در جدول People. (مستندات ما را برای یادگیری بیشتر درباره نحوه سفارشی کردن مدل داده خود بررسی کنید.) متابیس میداند که یک entity key است، و اینطور میدانست به این view جزئیات لینک کند. توجه کنید که در صفحه جزئیات برای این مشتری، Hudson Borer، ما 1) هر فیلد از جدول People را میبینیم، نه فقط فیلدهایی که در سؤال خود شامل کردیم، و 2) در بالا سمت راست، یک لینک به سفارشهای مرتبط با ID کاربر Hudson Borer. اگر یک جدول شامل یک entity key به عنوان foreign key در جدول دیگر باشد، متابیس آن داده را برای کاوش در این صفحه جزئیات در دسترس میکند.

تا اینجا اساساً هیچ کاری نکردهایم، و از قبل شروع خوبی داریم. برای محاسبه چقدر پول هر مشتری با شرکت خرج کرده است، نیاز به شامل کردن اطلاعات سفارش در فهرست خود داریم. و آن نیاز به join کردن جدول People به جدول Orders دارد. روی آیکون ویرایشگر کلیک میکنیم تا Query Builder را بیاوریم.

بعد، روی گزینه Join data کلیک میکنیم، و جدول People را به جدول Orders با گفتن به متابیس که باید entity key ID در جدول People را به Foreign Key User_ID در جدول Orders لینک کند متصل میکنیم. (اگر به join کردن جداول جدید هستید، مقاله ما درباره joinها در متابیس را بررسی کنید).

Join کردن جداول People و Orders جدول نشان داده شده زیر را تولید میکند، جایی که اطلاعات مشتری برای هر سفارشی که قرار دادند تکرار میشود.

ایدهآل نیست: نمیخواهیم یک مشتری بیش از یک بار در این ابزار lookup فهرست شود. اگر میخواهیم سفارشهای آنها را ببینیم، میتوانیم فقط روی ID مشتریان کلیک کنیم تا صفحههای جزئیات آنها را مشاهده کنیم، اما حالا اطلاعات سفارش آنها را برای کار داریم.
بیایید سعی کنیم مقدار کل پولی که تا به امروز با ما خرج کردهاند را پیدا کنیم. برگشت به Query Builder، Summarize را انتخاب میکنیم، و Sum of را انتخاب میکنیم. زیر جدول join شده Orders، Total را انتخاب میکنیم. و از آنجایی که میخواهیم sum را برای هر کاربر ببینیم، بر اساس ID هر کاربر group میکنیم.

یک پیشنمایش جدول بهروزرسانی شده با فقط دو ستون به ما نشان میدهد: ID و ستون جدید ما، Sum of Orders → Total($). همچنین تخفیفها را sum میکنیم (Sum of Orders → Discount($))، درست مثل order totals.
بعد، ستونهایی که میخواهیم در جدول خود شامل کنیم را با افزودن آنها به جعبه Group by بخش Summarize اضافه میکنیم. در اینجا فهرست کامل ستونهای ما:
IDEmailNameCityStateZipCreated_at: MonthSum of Orders → TotalSum of Orders → Discount

با notebook پر شده ما، بیایید روی دکمه Visualize کلیک کنیم، و متابیس فهرست ما را ارائه میدهد.

تا اینجا خوب است، اما بیایید ببینیم آیا میتوانیم کمی آن را تزئین کنیم. بیایید فرمت را برای ستونهای aggregate خود تغییر دهیم، که میتوانیم با کلیک روی heading برای آن ستون، سپس کلیک روی آیکون چرخدنده انجام دهیم.

Column title را به "Total money spent" تغییر میدهیم، Show a mini bar chart را toggle میکنیم، و Where to display the unit of currency را به every cell تنظیم میکنیم.

نمودار میلهای کوچک مقدار سلول را نسبت به محدوده مقادیر در ستون نشان میدهد، که دیدن چقدر پول مشتریان ما نسبت به سایر مشتریان خرج میکنند را آسان میکند.
همان کار را برای ستون discount total انجام میدهیم: افزودن نمودار میلهای کوچک، تغییر نام heading، نمایش currency در every cell.

همچنین میتوانیم مقداری فرمت شرطی برای جدول به عنوان یک کل اضافه کنیم. در پایین سمت چپ صفحه خود، روی دکمه Settings برای سؤال کلیک میکنیم، و متابیس Sidebar Settings را slide میکند. در بالای sidebar، تب Conditional formatting را انتخاب میکنیم. به عنوان مثال، میتوانیم ردیف را برای خرجکنندگان بزرگ (مشتریانی که بیش از 1000 دلار روی محصولات ما خرج کردهاند) با آبی highlight کنیم، و ردیفها را با قرمز highlight کنیم اگر بیش از 30 دلار تخفیف به آنها دادهایم (پس میدانیم احتمالاً باید روی تخفیفها برای آن مشتری cool کنیم).

با فهرست ما همه تزئین شده، بیایید آن را به عنوان Customer list ذخیره کنیم.
افزودن سؤال ما به یک داشبورد
برای قادر بودن به lookup یک مشتری، نیاز به قادر بودن به فیلتر کردن این جدول بر اساس ID و name داریم. میتوانستیم در سطح سؤال فیلتر کنیم، اما در این مورد بهتر است فهرست ما در یک داشبورد باشد: گزینههای بیشتری به ما میدهد، مثل قادر بودن به داشتن یک widget فیلتر که میتواند فهرستها یا نمودارهای اضافی که ممکن است در آینده بخواهیم اضافه کنیم را فیلتر کند، یا اجازه دادن به ما برای سفارشی کردن آنچه وقتی مشتریان روی یک مقدار در یک ستون کلیک میکنند اتفاق میافتد.
یک داشبورد جدید ایجاد میکنیم و آن را (به معنای واقعی کلمه) "Customer lookup tool" عنوان میکنیم. بعد، سؤال Customer list خود را به داشبورد جدید خود اضافه میکنیم.
افزودن فیلترها به داشبورد
از آنجایی که میخواهیم مشتریان قادر به lookup مشتریان بر اساس ID یا Name آنها باشند، نیاز به افزودن یک widget فیلتر برای هر روش lookup داریم. برای افزودن فیلترها، روی آیکون مداد کلیک میکنیم تا داشبورد را ویرایش کنیم، سپس روی آیکون فیلتر کلیک میکنیم. یک فیلتر ID برای widget فیلتر ID اضافه میکنیم، و یک فیلتر Category برای widget فیلتر Name اضافه میکنیم.

هر فیلتر را به کارت Customer list متصل میکنیم (فیلتر "ID" به Person.ID و فیلتر Category به Person.Name). برای واضح کردن برای کاربران ما هر فیلتر چه میکند، برچسبهای فیلترها را به Customer ID و Customer name تغییر میدهیم. مستندات ما درباره فیلترهای داشبورد را برای یادگیری بیشتر درباره نحوه wire کردن اینها بررسی کنید.

اگر فیلتر مثل انتظار شما رفتار نمیکند، ممکن است نیاز به تغییر نوع فیلد در مدل داده داشته باشید. مستندات ما درباره ویرایش متادیتا را بررسی کنید، که به شما نشان میدهد چگونه میتوانید انتخاب کنید آیا فیلتر یک فهرست از همه مقادیر موجود را نمایش دهد، یا به عنوان یک جعبه جستجو.
سفارشی کردن رفتار کلیک
وقتی در حال ساخت یک ابزار lookup مشتری هستید، ممکن است بخواهید فهرست خود را تنظیم کنید تا کلیک روی یک مقدار مثل نام مشتری یا ID یا هر چیز دیگری شما را به داشبورد متفاوت، اپلیکیشن third-party، یا حتی اپلیکیشن خود ببرد. برای انجام این کار، میتوانید رفتار کلیک روی یک کارت داشبورد را سفارشی کنید و یک مقصد سفارشی تنظیم کنید. فقط برای demo کردن ویژگی، آن را تنظیم میکنیم تا وقتی مشتریان روی آدرس شخص کلیک میکنند، Google Maps با آن آدرس از پیش load شده باز شود.

میتوانیم روی dropdown Values you can reference کلیک کنیم تا ببینیم کدام مقادیر میتوانیم به عنوان پارامتر plug کنیم. بر اساس مستندات Google Maps API، URL را به صورت زیر فرمت میکنیم:
https://www.google.com/maps/search/?api=1&query={{address}},{{city}},{{state}},{{zip}}پارامترهایی که pass میکنیم در براکتهای دوتایی محصور میشوند: address، city، state، و zip، و متابیس کاماها را برای ما escape میکند. وقتی مقصد سفارشی را ذخیره میکنیم، حالا میتوانیم روی یک آدرس کلیک کنیم و متابیس آدرس را در Google Maps باز میکند.

جاسازی ابزار در wiki یا اپلیکیشن خود
میتوانید ابزار lookup را در instance متابیس خود بگذارید، اما همچنین میتوانید ابزار را در اپلیکیشنهای دیگر، مثل wiki سازمان خود یا اپلیکیشن homegrown جاسازی کنید. مقاله ما درباره جاسازی نمودارها و داشبوردها را بررسی کنید.
و تمام!
یا اینطور است؟ حالا یک ابزار lookup مشتری مناسب برای کار داریم، و میتوانیم داشبورد را همانطور که پیش میرویم گسترش دهیم. میتوانیم سؤالها و فیلترهای دیگر به داشبورد خود اضافه کنیم، یا مقصدهای سفارشی بیشتری برای لینک به داشبوردها و ابزارهای اضافی تنظیم کنیم. امیدواریم این مقاله ایدههایی برای برخی ابزارهایی که میتوانید بسازید—یا برای ارتقای داشبوردهای موجود خود—به شما داده باشد.
[
](markdown.html)