Metabase

بارگذاری داده (Uploading data)

اگر ادمین شما آپلودها را فعال کرده باشد، می‌توانید با کلیک روی آیکون Upload در بالا سمت راست صفحهٔ کالکشن، فایل‌های CSV را آپلود کنید.

Upload CSV data

ساخت، الحاق یا جایگزینی مدل‌ها با Upload

وقتی یک فایل CSV آپلود می‌کنید، متابیس (بسته به این‌که قبلاً آپلودهای دیگری وجود دارد یا نه) ممکن است از شما بخواهد مقصد آپلود را انتخاب کنید.

اگر CSV شما همان ستون‌هایی را داشته باشد که یک مدل از آپلود قبلی داشته، می‌توانید داده‌های جدید را به همان مدل اضافه (Append) کنید. در غیر این صورت می‌توانید یک مدل جدید بسازید. با Upload می‌توانید:

متابیس یک مدل می‌سازد که داده‌های CSV را در خود نگه می‌دارد، به‌همراه جدول زیرین (Underlying table) مربوط به آن مدل.

Uploadها فقط وقتی در دسترس‌اند که ادمین شما این قابلیت را برای متابیس فعال کرده باشد و شما در گروهی باشید که به Schema مخصوص Upload دسترسی Unrestricted دارد. بخش Uploading data را ببینید.

الحاق به مدلی که با Upload ساخته شده (Appending to a model created by an upload)

می‌توانید CSVهای جدید را به مدلی که قبلاً با یک CSV دیگر ساخته شده، الحاق کنید.

Append data to existing upload model

فایل CSV جدید باید همان نام ستون‌ها، همان ترتیب و همان نوع داده را داشته باشد. متابیس برای چک‌کردن نام ستون‌ها به ردیف Header نگاه می‌کند. پس اگر یک CSV بزرگ را به چند CSV کوچک‌تر تقسیم می‌کنید، باید در همهٔ آن‌ها ردیف Header را قرار دهید.

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

آیکون Upload فقط روی مدل‌هایی نمایش داده می‌شود که با Upload ساخته شده‌اند.

جایگزینی داده‌های یک مدل Upload شده (Replacing the data of an uploaded model)

به‌جای این‌که یک مدل را حذف و از صفر دوباره بسازید، می‌توانید داده‌های زیرین آن را با یک Spreadsheet به‌روزشده جایگزین کنید.

درست مثل حالت Append، برای جایگزینی CSV آپلودشده با CSV جدید، باید ستون‌ها و Headerها دقیقاً یکسان باشند.

اگر جدول Uploadشده را حذف کنید، دیگر نمی‌توانید داده‌های مدل را جایگزین کنید.

تولید خودکار کلید اصلی (Primary key auto-generation)

وقتی یک CSV را آپلود می‌کنید، متابیس یک ستون کلید اصلی (Primary key) یکتا به نام _mb_row_id به‌عنوان اولین ستون جدول اضافه می‌کند. مقدارهای این ستون عددهای صحیح تولیدشدهٔ خودکار هستند. متابیس همچنین هر ستونی در CSV را که نامش (بعد از نرمال‌سازی) با نام این ستون یکی باشد نادیده می‌گیرد (مثلاً ستون _MB row-ID در CSV معادل _mb_row_id یا _MB_ROW_ID در دیتابیس خواهد شد).

اگر این ستون ID خودکار را نمی‌خواهید، می‌توانید آن را از خود مدل حذف کنید. برای این کار:

  1. وارد صفحهٔ مدل شوید.
  2. روی آیکون i (اطلاعات) کلیک کنید و Model details را بزنید.
  3. در صفحهٔ جزئیات مدل روی دکمهٔ Edit definition کلیک کنید.
  4. در بخش Data در Query builder، روی فلش کنار جدول کلیک کنید، تیک ستون اضافه‌شده (ID) را بردارید و تغییرات را ذخیره کنید.

خطاهای نوع داده (Data type errors)

متابیس سعی می‌کند نوع دادهٔ هر ستون را حدس بزند، اما اگر بعضی مقدارها با بقیهٔ ردیف‌ها جور نباشد، ممکن است حدسش غلط باشد یا آپلود را رد کند. مثلاً اگر ستونی با مقادیر ۱۰۰، ۱۳۰، ۱۴۰ شروع شود و بعداً مقداری مثل ۱۰۵٫۵ داشته باشد، متابیس ممکن است آپلود را نپذیرد.

برای رفع این مشکل، باید در نرم‌افزار Spreadsheet نوع فرمت ستون را اصلاح کنید؛ مثلاً همهٔ عددهای صحیح را هم به‌صورت Float ذخیره کنید (۱۰۰٫۰۰، ۱۳۰٫۰۰، ۱۴۰٫۰۰ و غیره) و سپس فایل را دوباره آپلود کنید.

محدودیت اندازهٔ فایل (File size limit)

فایل‌های CSV نمی‌توانند بیشتر از ۵۰ مگابایت باشند.

هرچند متابیس آپلودها را به ۵۰ مگابایت محدود می‌کند، ممکن است سروری که متابیس را روی آن اجرا می‌کنید محدودیت کمتری اعمال کند. مثلاً مقدار پیش‌فرض client_max_body_size در NGINX برابر ۱ مگابایت است. در این صورت باید تنظیمات سرور را طوری تغییر دهید که آپلود تا ۵۰ مگابایت مجاز باشد. کاربران Metabase Cloud لازم نیست نگران این مورد باشند.

اگر فایل شما بزرگ‌تر از ۵۰ مگابایت است، می‌توانید داده را به چند فایل کوچک‌تر تقسیم کنید و هرکدام را جداگانه به یک مدل موجود Append کنید. یادتان باشد هر فایلی که آپلود می‌کنید باید یک ردیف Header (نام ستون‌ها) داشته باشد؛ در نتیجه اگر یک فایل را به چند قسمت تقسیم می‌کنید، باید در هر قسمت Header را اضافه کنید.

فرمت تاریخ‌ها (Date formats)

فعلاً متابیس فقط تاریخ‌ها و DateTimeهایی را که به‌صورت رشته در CSV با فرمت‌های زیر آمده باشند می‌شناسد:

تاریخ‌ها (Dates)

نمایش سال، ماه و روز بدون زمان.

فرمت: yyyy-MM-dd
مثال: 2023-01-01

DateTimeها (Datetimes)

نمایش سال، ماه، روز و ساعت؛ دقیقه، ثانیه و اعشار ثانیه اختیاری هستند.

فرمت: yyyy-MM-ddTHH:mm:ss.SSS
کاراکتر "T" می‌تواند یک فاصلهٔ " " هم باشد.

مثال‌ها:

  • 2023-01-01 00
  • 2023-01-01 00:00:00.000
  • 2023-01-01T00:00:00.000
  • 2023-01-01 00:00:00.0000000

DateTimeها با Offset

این فرمت‌ها DateTime را همراه با Offset نسبت به زمان UTC نشان می‌دهند؛ دقیقه و ثانیه در Offset اختیاری است.

فرمت‌ها:

  • فرمت‌های DateTime:

    • yyyy-MM-ddTHH:mm
    • yyyy-MM-ddTHH:mm:ss
    • yyyy-MM-ddTHH:mm:ss.SSS (با هر تعداد S)

    کاراکتر "T" می‌تواند یک فاصلهٔ " " هم باشد.

  • Offsetها:

    • Z (برای UTC)
    • +HH یا -HH
    • +HH:mm یا -HH:mm
    • +HH:mm:ss یا -HH:mm:ss

مثال‌ها:

  • 2023-01-01 00:00:00+00:00:00
  • 2023-01-01T00:00:00+00:00:00

حذف مدل‌ها و جدول‌های ساخته‌شده با Upload (Deleting models and tables created by uploads)

حذف مدل‌های ساخته‌شده با Upload

برای فرستادن یک مدل به سطل زباله، روی منوی سه‌نقطه‌ای بالا سمت راست کلیک و گزینهٔ Move to Trash را انتخاب کنید.

برای حذف دائمی مدل‌ها، بخش Deleting items permanently را ببینید.

حذف جدول‌های ساخته‌شده با Upload

برای حذف جدول‌هایی که با Upload ساخته شده‌اند، به مسیر Admin settings > Settings > Uploads بروید.

در بخش Manage uploads، متابیس لیستی از جدول‌های زیرینِ مدل‌ها را نمایش می‌دهد.

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

مطالعهٔ بیشتر