Metabase

Query builder

متابیس یک Query builder گرافیکی دارد که به شما امکان می‌دهد نمودارهای تعاملی بسازید.

با Query builder می‌توانید:

وقتی یک نمودار را می‌بینید، می‌توانید با کلیک روی بخش‌های مختلف آن، سؤال‌های Drill-through را باز کنید و داده را عمیق‌تر اکتشاف کنید.

Drill-through menu

منوی Drill-through بسته به این‌که کجا کلیک کنید گزینه‌های مختلفی نشان می‌دهد. در ادامه می‌توانید هر اکتشافی را که انجام داده‌اید به‌عنوان یک سؤال جدید ذخیره کنید. منوی کامل Drill-through فقط برای سؤال‌هایی در دسترس است که با Query builder ساخته شده‌اند. سؤال‌هایی که با ویرایشگر SQL/native ساخته شده‌اند فقط مجموعهٔ محدودی از اکشن‌های Drill-through را دارند. برای اطلاعات بیشتر دربارهٔ Drill-through، به ساخت نمودارهای تعاملی مراجعه کنید.

ساخت سؤال جدید با Query builder

از منوی کشویی + New گزینهٔ Question را انتخاب کنید، سپس منبع دادهٔ شروع را مشخص کنید:

می‌توانید سؤال را از موارد زیر شروع کنید:

  • یک مدل (Model). یک مدل نوع خاصی از سؤال ذخیره‌شده است که به‌عنوان نقطهٔ شروع خوب برای سؤال‌ها طراحی شده؛ گاهی به آن‌ها Derived table هم می‌گویند، چون معمولاً داده را از چند جدول خام مختلف کنار هم می‌آورند.
  • یک Metric. Metricها محاسبات ازپیش‌تعریف‌شده هستند. اگر یک Metric را به‌عنوان نقطهٔ شروع سؤال انتخاب کنید، متابیس سؤالی می‌سازد که از همان منبع دادهٔ Metric استفاده می‌کند و آن Metric را اعمال می‌کند؛ بعد از آن هم می‌توانید جوین، فیلتر و خلاصه‌سازی‌های بیشتری اضافه کنید.
  • Tables. باید پایگاه‌داده و جدول داخل آن پایگاه‌داده را به‌عنوان نقطهٔ شروع سؤال مشخص کنید.
  • سؤال ذخیره‌شده. می‌توانید نتایج هر سؤال ذخیره‌شده را به‌عنوان نقطهٔ شروع یک سؤال جدید استفاده کنید.

توجه کنید برخی انواع سؤال‌های ذخیره‌شده را نمی‌توان به‌عنوان منبع داده استفاده کرد:

  • سؤال‌های Druid
  • سؤال‌های Mongo
  • سؤال‌هایی که از Aggregationهای Cumulative Sum یا Cumulative Count استفاده می‌کنند
  • سؤال‌هایی که ستون‌هایی با نام‌های یکسان یا خیلی شبیه به هم دارند، مثل Count و Count 2

ویرایشگر (Editor)

بعد از انتخاب داده، متابیس شما را به ویرایشگر Query builder می‌برد. فرض کنید مسیر Tables > Sample database > Orders را انتخاب کرده‌اید؛ در این صورت چیزی شبیه تصویر زیر می‌بینید:

Metabase query builder

این ویرایشگر Query builder است. به‌صورت پیش‌فرض سه مرحله دارد:

هم‌چنین می‌توانید مراحلی برای جوین‌کردن داده، ستون‌های سفارشی، مرتب‌سازی نتایج و محدودکردن تعداد نتایج اضافه کنید.

سمت راست هر مرحلهٔ کامل‌شده، دکمهٔ Preview (دکمهٔ مثلثی شبیه Play) را می‌بینید که ۱۰ سطر اول نتیجهٔ سؤال را تا همان مرحله به شما نشان می‌دهد.

Previewing results

انتخاب داده (Picking data)

بخش Data جایی است که داده‌ای را که می‌خواهید روی آن کار کنید انتخاب می‌کنید. در این‌جا می‌توانید یک مدل، یک Metric، یک جدول از یک پایگاه‌داده یا یک سؤال ذخیره‌شده را انتخاب کنید.

data picker

می‌توانید با نگه‌داشتن Cmd/Ctrl و کلیک روی نام منبع داده در Query builder، آن منبع را در تب جدید مرورگر باز کنید.

برای انتخاب ستون‌هایی که می‌خواهید در کوئری باشند، روی فلش کنار منبع داده کلیک کنید. اگر تیک ستونی را بردارید، همچنان می‌توانید از آن ستون در هنگام ساخت کوئری (مثلاً در فیلترها) استفاده کنید، اما متابیس آن ستون را در نتایج نمایش نخواهد داد.

می‌توانید ستون‌ها را از نمای جدول مخفی کنید.

مخفی‌کردن ستون‌ها نباید برای امن‌سازی اطلاعات حساس استفاده شود. مخفی‌کردن ستون‌ها در تنظیمات Visualization فقط روی نمایش ستون‌ها در ویژوالیزیشن اثر می‌گذارد، نه روی نتایج کوئری. حتی افرادی که فقط سطح دسترسی "view data" روی سؤال دارند، می‌توانند تنظیمات Visualization را عوض کنند و ستون‌ها را دوباره نمایش دهند. برای این‌که ستونی در نتایج یک کوئری خاص اصلاً برنگردد، تیک آن ستون را در بلوک "Data" در Query builder بردارید.

جوین کردن داده‌ها (Joining data)

می‌توانید چند جدول از یک پایگاه‌داده را انتخاب کنید و آن‌ها را با هم جوین کنید.

فیلتر کردن داده (Filtering data)

بخش فیلترها را ببینید.

ویژوالیزه‌کردن داده (Visualizing your data)

بخش ویژوالیزه‌کردن نتایج را ببینید.

Drill-through روی عنوان ستون‌ها

وقتی یک جدول را می‌بینید، کلیک روی عنوان ستون‌ها بسته به نوع دادهٔ ستون گزینه‌های مختلفی را در اختیار شما می‌گذارد. نگاه کنید به بخش Table.

عبارت‌های سفارشی (Custom expressions)

عبارت‌های سفارشی به شما اجازه می‌دهند از توابع شبیه صفحه‌گسترده و محاسبات سادهٔ ریاضی در داخل یا بین Aggregationها استفاده کنید.

مثلاً می‌توانید بنویسید Average(sqrt[FieldX]) + Sum([FieldY]) یا Max(floor([FieldX] - [FieldY]))، جایی که FieldX و FieldY فیلدهای جدول انتخاب‌شده هستند. برای اطلاعات بیشتر بخش نوشتن عبارت‌ها را ببینید.

ستون‌های سفارشی (Custom columns)

Custom column

ستون‌های سفارشی وقتی به‌کار می‌آیند که لازم است ستونی جدید بر اساس یک محاسبه بسازید؛ مثلاً کم‌کردن مقدار یک ستون از ستون دیگر، یا استخراج قسمتی از یک ستون متنی. ستون‌های سفارشی‌ای که اضافه می‌کنید به‌صورت دائمی به جدول پایگاه‌داده اضافه نمی‌شوند؛ این ستون‌ها فقط در همان سؤال وجود خواهند داشت.

می‌توانید در فرمول‌های خود از عملگرهای ریاضی +، ‎، ‎* (ضرب) و / (تقسیم) استفاده کنید، به‌همراه مجموعه‌ای از توابع شبیه صفحه‌گسترده. می‌توانید برای مشخص‌کردن ترتیب اعمال هم از پرانتز استفاده کنید. فهرست کامل را در فهرست عبارت‌ها ببینید.

مرتب‌سازی نتایج (Sorting results)

Sorting

مرحلهٔ Sorting به شما اجازه می‌دهد یک یا چند ستون را برای مرتب‌سازی نتایج انتخاب کنید. برای هر ستون می‌توانید ترتیب صعودی یا نزولی را انتخاب کنید؛ کافی است روی آیکون فلش کلیک کنید تا از صعودی (فلش رو به بالا) به نزولی (فلش رو به پایین) تغییر کند.

تعیین سقف تعداد سطرها (Setting a row limit)

مرحلهٔ Row limit به شما امکان می‌دهد حداکثر تعداد سطرهایی را که می‌خواهید از نتایج قبلی بگیرید تعیین کنید. وقتی این مرحله را همراه با Sorting استفاده کنید، می‌توانید کارهایی مثل ساخت یک لیست Top-10 انجام دهید: ابتدا نتایج را بر اساس یکی از ستون‌ها مرتب کنید و بعد یک Row limit با مقدار ۱۰ اضافه کنید. برخلاف سایر مراحل، مرحلهٔ Row limit را فقط می‌توان در انتهای سؤال اضافه کرد. اگر بخواهید بعد از محدودکردن نتایج، مراحل دیگری هم اضافه کنید، می‌توانید نتایج محدودشده را به‌عنوان یک سؤال ذخیره کنید و سپس یک سؤال جدید بر اساس آن نتایج بسازید.

دیدن کوئری Native پشت سؤال

View the SQL

در پشت صحنه، همهٔ سؤال‌های متابیس به SQL یا زبان Native موتور کوئری شما تبدیل می‌شوند. برای دیدن کوئری Native که متابیس هنگام کلیک روی Visualize اجرا می‌کند، روی دکمهٔ View SQL یا View query در گوشهٔ بالا-راست Query builder کلیک کنید. متابیس این کوئری را در یک نوار کناری به شما نشان می‌دهد.

برای دیدن کوئری Native باید سطح دسترسی Query builder و Native را داشته باشید.

تبدیل سؤال Query builder به SQL

می‌توانید سؤال را به یک سؤال ویرایشگر Native تبدیل کنید. در صفحهٔ Query builder:

  1. روی آیکون Console در گوشهٔ بالا-راست کلیک کنید.
  2. روی گزینهٔ Convert the question to SQL در پایین-راست، زیر کد SQL کلیک کنید.

این تبدیل یک‌طرفه است: نمی‌توانید یک سؤال SQL را دوباره به سؤال Query builder تبدیل کنید.