From 33c786d25f05180f6f70359dee4f0ad96f42fc01 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Mon, 30 Mar 2026 03:46:55 +0000 Subject: [PATCH] Update report docs: add cubeCode, radar chart type, and filter configuration Generated-By: mintlify-agent --- ar/features/report.mdx | 80 ++++++++++++++++++++++++++++---- de/features/report.mdx | 73 +++++++++++++++++++++++++---- en/features/report.mdx | 91 +++++++++++++++++++++++++++++++++---- es/features/report.mdx | 73 +++++++++++++++++++++++++---- fr/features/report.mdx | 77 +++++++++++++++++++++++++++---- hi/features/report.mdx | 77 +++++++++++++++++++++++++++---- ja/features/report.mdx | 91 +++++++++++++++++++++++++++++++++---- ko/features/report.mdx | 89 ++++++++++++++++++++++++++++++++---- pt/features/report.mdx | 81 +++++++++++++++++++++++++++++---- vi/features/report.mdx | 67 +++++++++++++++++++++++---- zh-Hant/features/report.mdx | 91 +++++++++++++++++++++++++++++++++---- zh/features/report.mdx | 91 +++++++++++++++++++++++++++++++++---- 12 files changed, 861 insertions(+), 120 deletions(-) diff --git a/ar/features/report.mdx b/ar/features/report.mdx index f958833..3fb3d49 100644 --- a/ar/features/report.mdx +++ b/ar/features/report.mdx @@ -45,7 +45,7 @@ openyida create-report APP_XXXXXX "Sales Dashboard" '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "sales_form", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "amount" } @@ -73,7 +73,7 @@ openyida append-chart ' +عند تعيين نوع المرشح إلى `dropdown`، يتم إنشاء قائمة منسدلة تلقائيًا بناءً على القيم الفريدة الموجودة في الحقل المحدد. + + +--- + ## أنواع الرسوم البيانية | النوع | الوصف | الاستخدام الأمثل | @@ -95,6 +140,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ | **combo** | رسم بياني مركب (أعمدة + خطوط) | مقارنات المحور المزدوج | | **pivot** | جدول محوري متقاطع | تحليل متعدد الأبعاد | | **gauge** | مقياس | تتبع التقدم أو الأهداف | +| **radar** | مخطط رادار | مقارنات متعددة الأبعاد | | **funnel** | رسم بياني قمعي | التحويل عبر المراحل | --- @@ -130,7 +176,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "bar", "title": "Sales by Region", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "region", "yField": "amount", "aggregation": "sum", @@ -145,7 +191,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "line", "title": "Traffic Trend", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "date", "yField": "visitors", "aggregation": "sum" @@ -158,7 +204,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "pie", "title": "Market Share", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "categoryField": "product", "valueField": "share" } @@ -170,7 +216,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "table", "title": "Detail View", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "columns": [ { "field": "name", "title": "Name" }, { "field": "amount", "title": "Amount" }, @@ -181,6 +227,20 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ --- +## تنسيق cubeCode + +يُستخدم حقل `cubeCode` لتحديد مصدر البيانات (النموذج) المرتبط بالرسم البياني. يتبع التنسيق التالي: + +- **`FORM_XXXXXX`** — معرّف النموذج الفريد في نظام Yida. يمكنك الحصول عليه من إعدادات النموذج أو من عنوان URL الخاص بالنموذج. +- يجب أن يبدأ دائمًا بالبادئة `FORM_` متبوعة بمعرّف النموذج. +- مثال: `"cubeCode": "FORM_MONTHLY_SALES"` يشير إلى نموذج المبيعات الشهرية. + + +تأكد من استخدام `cubeCode` الصحيح للنموذج المطلوب. استخدام معرّف غير صحيح سيؤدي إلى عدم عرض البيانات في الرسم البياني. + + +--- + ## دوال التجميع | الدالة | الوصف | @@ -203,7 +263,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "form_monthly_sales", + "cubeCode": "FORM_MONTHLY_SALES", "xField": "month", "yField": "sales_amount", "aggregation": "sum" @@ -211,14 +271,14 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "pie", "title": "Product Categories", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "categoryField": "product_category", "valueField": "sales_amount" }, { "type": "line", "title": "Sales Trend", - "dataSource": "form_daily_sales", + "cubeCode": "FORM_DAILY_SALES", "xField": "date", "yField": "sales_amount", "aggregation": "sum" @@ -226,7 +286,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "table", "title": "Sales Detail", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "columns": [ { "field": "order_no", "title": "Order No.", "width": 150 }, { "field": "customer_name", "title": "Customer", "width": 200 }, diff --git a/de/features/report.mdx b/de/features/report.mdx index cab0797..c96cf53 100644 --- a/de/features/report.mdx +++ b/de/features/report.mdx @@ -45,7 +45,7 @@ openyida create-report APP_XXXXXX "Sales Dashboard" '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "sales_form", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "amount" } @@ -73,7 +73,7 @@ openyida append-chart ' openyida append-chart APP_XXXXXX REPORT_XXXXX '{ "type": "line", "title": "Growth Trend", - "dataSource": "form_sales", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "growth_rate" }' @@ -81,6 +81,46 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ --- +## Filterkonfiguration + +Berichte unterstützen Filter, die mit Diagrammen verknüpft werden können. Über die `filters`-Eigenschaft in der Berichtskonfiguration definieren Sie Filtersteuerungen, die auf ein oder mehrere Diagramme angewendet werden. + +```json +{ + "charts": [...], + "filters": [ + { + "label": "Region", + "field": "region", + "type": "dropdown", + "cubeCode": "FORM_SALES", + "chartIds": ["chart_1", "chart_2"] + }, + { + "label": "Zeitraum", + "field": "date", + "type": "dateRange", + "cubeCode": "FORM_DAILY_SALES", + "chartIds": ["chart_3"] + } + ] +} +``` + +| Feld | Beschreibung | +|------|-------------| +| **label** | Anzeigetext des Filters | +| **field** | Feldname in der Datenquelle | +| **type** | Filtertyp (`dropdown`, `dateRange`, `text`, `number`) | +| **cubeCode** | CubeCode des verknüpften Formulars | +| **chartIds** | Liste der Diagramm-IDs, auf die der Filter angewendet wird | + + +Wenn der Filtertyp `dropdown` ist und keine Optionen angegeben werden, werden die Dropdown-Werte automatisch aus den Daten der verknüpften Datenquelle generiert. + + +--- + ## Diagrammtypen | Typ | Beschreibung | Geeignet für | @@ -95,6 +135,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ | **combo** | Kombi-Diagramm (Balken + Linie) | Vergleiche mit Doppelachse | | **pivot** | Kreuz-Pivottabelle | Mehrdimensionale Analyse | | **gauge** | Messgerät-Diagramm | Fortschritts- oder Zielverfolgung | +| **radar** | Radar-Diagramm | Mehrdimensionale Vergleiche | | **funnel** | Trichterdiagramm | Stufenweise Konversion | --- @@ -130,7 +171,7 @@ Das Setzen von `w` oder `h` auf `0` ist gültig und wird berücksichtigt. Bei Au { "type": "bar", "title": "Sales by Region", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "region", "yField": "amount", "aggregation": "sum", @@ -145,7 +186,7 @@ Das Setzen von `w` oder `h` auf `0` ist gültig und wird berücksichtigt. Bei Au { "type": "line", "title": "Traffic Trend", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "date", "yField": "visitors", "aggregation": "sum" @@ -158,7 +199,7 @@ Das Setzen von `w` oder `h` auf `0` ist gültig und wird berücksichtigt. Bei Au { "type": "pie", "title": "Market Share", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "categoryField": "product", "valueField": "share" } @@ -170,7 +211,7 @@ Das Setzen von `w` oder `h` auf `0` ist gültig und wird berücksichtigt. Bei Au { "type": "table", "title": "Detail View", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "columns": [ { "field": "name", "title": "Name" }, { "field": "amount", "title": "Amount" }, @@ -181,6 +222,18 @@ Das Setzen von `w` oder `h` auf `0` ist gültig und wird berücksichtigt. Bei Au --- +## CubeCode-Format + +Der `cubeCode` identifiziert die Formular-Datenquelle für ein Diagramm. Er folgt dem Format `FORM_` gefolgt von einem eindeutigen Bezeichner. + +- **Standardformat**: `FORM_XXXXXX` — wobei `XXXXXX` die eindeutige Formular-ID ist (z. B. `FORM_A1B2C3`). +- **Benannte Formulare**: Wenn das Formular einen aussagekräftigen Namen hat, kann der cubeCode diesen widerspiegeln, z. B. `FORM_MONTHLY_SALES` oder `FORM_DAILY_SALES`. +- Der cubeCode muss immer mit dem Präfix `FORM_` beginnen und in Großbuchstaben geschrieben sein. + +Sie finden den cubeCode eines Formulars in den Formulareinstellungen oder über die Yida-Verwaltungsoberfläche. + +--- + ## Aggregationsfunktionen | Funktion | Beschreibung | @@ -203,7 +256,7 @@ Das Setzen von `w` oder `h` auf `0` ist gültig und wird berücksichtigt. Bei Au { "type": "bar", "title": "Monthly Sales", - "dataSource": "form_monthly_sales", + "cubeCode": "FORM_MONTHLY_SALES", "xField": "month", "yField": "sales_amount", "aggregation": "sum" @@ -211,14 +264,14 @@ Das Setzen von `w` oder `h` auf `0` ist gültig und wird berücksichtigt. Bei Au { "type": "pie", "title": "Product Categories", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "categoryField": "product_category", "valueField": "sales_amount" }, { "type": "line", "title": "Sales Trend", - "dataSource": "form_daily_sales", + "cubeCode": "FORM_DAILY_SALES", "xField": "date", "yField": "sales_amount", "aggregation": "sum" @@ -226,7 +279,7 @@ Das Setzen von `w` oder `h` auf `0` ist gültig und wird berücksichtigt. Bei Au { "type": "table", "title": "Sales Detail", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "columns": [ { "field": "order_no", "title": "Order No.", "width": 150 }, { "field": "customer_name", "title": "Customer", "width": 200 }, diff --git a/en/features/report.mdx b/en/features/report.mdx index 625001e..f183dd9 100644 --- a/en/features/report.mdx +++ b/en/features/report.mdx @@ -45,7 +45,7 @@ openyida create-report APP_XXXXXX "Sales Dashboard" '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "sales_form", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "amount" } @@ -73,7 +73,7 @@ openyida append-chart '' openyida append-chart APP_XXXXXX REPORT_XXXXX '{ "type": "line", "title": "Growth Trend", - "dataSource": "form_sales", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "growth_rate" }' @@ -81,6 +81,61 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ --- +## Filter configuration + +Reports support filters that link to charts for interactive data filtering. You can configure filters using the `filters` array in the chart definition JSON. + +### Full configuration with filters + +```json +{ + "filters": [ + { + "title": "Project filter", + "placeholder": "Select a project", + "cubeCode": "FORM_XXXXXX", + "valueField": { + "fieldCode": "selectField_xxx", + "aliasName": "Project value", + "dataType": "STRING" + }, + "labelField": { + "fieldCode": "selectField_xxx", + "aliasName": "Project name", + "dataType": "STRING" + }, + "linkTo": [0, 1] + } + ], + "charts": [ + { + "type": "bar", + "title": "Bar chart", + "cubeCode": "FORM_XXXXXX", + "xField": "name", + "yField": "value" + } + ] +} +``` + +### Filter field reference + +| Field | Required | Description | +|-------|----------|-------------| +| `title` | Yes | Filter title | +| `placeholder` | No | Placeholder text | +| `cubeCode` | Yes | Data source form ID (e.g., `FORM_XXXXXX`) | +| `valueField` | Yes | Value field definition (contains `fieldCode`, `aliasName`, `dataType`) | +| `labelField` | Yes | Display field definition (contains `fieldCode`, `aliasName`, `dataType`) | +| `linkTo` | No | Target charts to link. Array elements can be chart indices (numbers) or chart titles (strings). If omitted, the filter links to all charts | + + + If you do not configure `filters`, the system automatically generates dropdown filters for `selectField`-type fields in your charts. + + +--- + ## Chart types | Type | Description | Best for | @@ -95,6 +150,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ | **combo** | Combo chart (bar + line) | Dual-axis comparisons | | **pivot** | Cross pivot table | Multi-dimensional analysis | | **gauge** | Gauge chart | Progress or target tracking | +| **radar** | Radar chart | Multi-dimensional comparisons | | **funnel** | Funnel chart | Stage-based conversion | --- @@ -130,7 +186,7 @@ Setting `w` or `h` to `0` is valid and will be respected. If omitted, the defaul { "type": "bar", "title": "Sales by Region", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "region", "yField": "amount", "aggregation": "sum", @@ -145,7 +201,7 @@ Setting `w` or `h` to `0` is valid and will be respected. If omitted, the defaul { "type": "line", "title": "Traffic Trend", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "date", "yField": "visitors", "aggregation": "sum" @@ -158,7 +214,7 @@ Setting `w` or `h` to `0` is valid and will be respected. If omitted, the defaul { "type": "pie", "title": "Market Share", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "categoryField": "product", "valueField": "share" } @@ -170,7 +226,7 @@ Setting `w` or `h` to `0` is valid and will be respected. If omitted, the defaul { "type": "table", "title": "Detail View", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "columns": [ { "field": "name", "title": "Name" }, { "field": "amount", "title": "Amount" }, @@ -181,6 +237,21 @@ Setting `w` or `h` to `0` is valid and will be respected. If omitted, the defaul --- +## cubeCode format + +The `cubeCode` in chart definitions is the report engine's data source identifier. It is derived from the form's `formUuid` but uses **underscores** instead of hyphens. + +``` +formUuid: FORM-AB4ACB9D-D12C-470D-8204-7E05CDC19166 +cubeCode: FORM_AB4ACB9D_D12C_470D_8204_7E05CDC19166 +``` + + + You can use `openyida get-schema` to retrieve a form's `formUuid`, then replace hyphens with underscores to get the `cubeCode`. The system also accepts hyphenated format and converts it automatically. + + +--- + ## Aggregation functions | Function | Description | @@ -203,7 +274,7 @@ Setting `w` or `h` to `0` is valid and will be respected. If omitted, the defaul { "type": "bar", "title": "Monthly Sales", - "dataSource": "form_monthly_sales", + "cubeCode": "FORM_MONTHLY_SALES", "xField": "month", "yField": "sales_amount", "aggregation": "sum" @@ -211,14 +282,14 @@ Setting `w` or `h` to `0` is valid and will be respected. If omitted, the defaul { "type": "pie", "title": "Product Categories", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "categoryField": "product_category", "valueField": "sales_amount" }, { "type": "line", "title": "Sales Trend", - "dataSource": "form_daily_sales", + "cubeCode": "FORM_DAILY_SALES", "xField": "date", "yField": "sales_amount", "aggregation": "sum" @@ -226,7 +297,7 @@ Setting `w` or `h` to `0` is valid and will be respected. If omitted, the defaul { "type": "table", "title": "Sales Detail", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "columns": [ { "field": "order_no", "title": "Order No.", "width": 150 }, { "field": "customer_name", "title": "Customer", "width": 200 }, diff --git a/es/features/report.mdx b/es/features/report.mdx index cb6c6a5..4622779 100644 --- a/es/features/report.mdx +++ b/es/features/report.mdx @@ -45,7 +45,7 @@ openyida create-report APP_XXXXXX "Sales Dashboard" '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "sales_form", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "amount" } @@ -73,7 +73,7 @@ openyida append-chart '' openyida append-chart APP_XXXXXX REPORT_XXXXX '{ "type": "line", "title": "Growth Trend", - "dataSource": "form_sales", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "growth_rate" }' @@ -81,6 +81,48 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ --- +## Configuración de filtros + +Los informes soportan filtros vinculados a los gráficos, lo que permite a los usuarios filtrar los datos mostrados de forma interactiva. Los filtros se definen en un arreglo `filters` dentro de la configuración del informe. + +```json +{ + "charts": [ + { + "type": "bar", + "title": "Sales by Region", + "cubeCode": "FORM_XXXXXX", + "xField": "region", + "yField": "amount" + } + ], + "filters": [ + { + "label": "Región", + "field": "region", + "type": "select", + "options": ["Norte", "Sur", "Este", "Oeste"] + }, + { + "label": "Fecha de inicio", + "field": "start_date", + "type": "date" + } + ] +} +``` + +| Campo | Descripción | +|-------|-------------| +| **label** | Etiqueta visible del filtro | +| **field** | Campo del formulario al que se aplica el filtro | +| **type** | Tipo de filtro: `select`, `date`, `text`, etc. | +| **options** | Lista de opciones disponibles (solo para tipo `select`) | + +Cuando se utiliza el tipo `select` sin proporcionar `options`, se genera automáticamente un menú desplegable con los valores únicos del campo vinculado. + +--- + ## Tipos de gráficos | Tipo | Descripción | Ideal para | @@ -95,6 +137,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ | **combo** | Gráfico combinado (barras + líneas) | Comparaciones de doble eje | | **pivot** | Tabla dinámica cruzada | Análisis multidimensional | | **gauge** | Gráfico de velocímetro | Seguimiento de progreso u objetivos | +| **radar** | Gráfico de radar | Comparaciones multidimensionales | | **funnel** | Gráfico de embudo | Conversión por etapas | --- @@ -130,7 +173,7 @@ Establecer `w` o `h` en `0` es válido y será respetado. Si se omite, se usan l { "type": "bar", "title": "Sales by Region", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "region", "yField": "amount", "aggregation": "sum", @@ -145,7 +188,7 @@ Establecer `w` o `h` en `0` es válido y será respetado. Si se omite, se usan l { "type": "line", "title": "Traffic Trend", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "date", "yField": "visitors", "aggregation": "sum" @@ -158,7 +201,7 @@ Establecer `w` o `h` en `0` es válido y será respetado. Si se omite, se usan l { "type": "pie", "title": "Market Share", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "categoryField": "product", "valueField": "share" } @@ -170,7 +213,7 @@ Establecer `w` o `h` en `0` es válido y será respetado. Si se omite, se usan l { "type": "table", "title": "Detail View", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "columns": [ { "field": "name", "title": "Name" }, { "field": "amount", "title": "Amount" }, @@ -181,6 +224,16 @@ Establecer `w` o `h` en `0` es válido y será respetado. Si se omite, se usan l --- +## Formato de cubeCode + +El campo `cubeCode` identifica la fuente de datos del formulario vinculado al gráfico. Debe seguir el formato en mayúsculas con el prefijo `FORM_`, seguido de un identificador único del formulario. + +- **Formato**: `FORM_` (por ejemplo, `FORM_MONTHLY_SALES`, `FORM_DAILY_SALES`) +- **Uso genérico**: Cuando el formulario específico no es relevante, puede usarse el valor de marcador de posición `FORM_XXXXXX`. +- El `cubeCode` se obtiene a partir de la configuración del formulario en la plataforma Yida. + +--- + ## Funciones de agregación | Función | Descripción | @@ -203,7 +256,7 @@ Establecer `w` o `h` en `0` es válido y será respetado. Si se omite, se usan l { "type": "bar", "title": "Monthly Sales", - "dataSource": "form_monthly_sales", + "cubeCode": "FORM_MONTHLY_SALES", "xField": "month", "yField": "sales_amount", "aggregation": "sum" @@ -211,14 +264,14 @@ Establecer `w` o `h` en `0` es válido y será respetado. Si se omite, se usan l { "type": "pie", "title": "Product Categories", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "categoryField": "product_category", "valueField": "sales_amount" }, { "type": "line", "title": "Sales Trend", - "dataSource": "form_daily_sales", + "cubeCode": "FORM_DAILY_SALES", "xField": "date", "yField": "sales_amount", "aggregation": "sum" @@ -226,7 +279,7 @@ Establecer `w` o `h` en `0` es válido y será respetado. Si se omite, se usan l { "type": "table", "title": "Sales Detail", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "columns": [ { "field": "order_no", "title": "Order No.", "width": 150 }, { "field": "customer_name", "title": "Customer", "width": 200 }, diff --git a/fr/features/report.mdx b/fr/features/report.mdx index 9c538fc..e70b5d3 100644 --- a/fr/features/report.mdx +++ b/fr/features/report.mdx @@ -45,7 +45,7 @@ openyida create-report APP_XXXXXX "Sales Dashboard" '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "sales_form", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "amount" } @@ -73,7 +73,7 @@ openyida append-chart '' openyida append-chart APP_XXXXXX REPORT_XXXXX '{ "type": "line", "title": "Growth Trend", - "dataSource": "form_sales", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "growth_rate" }' @@ -81,6 +81,40 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ --- +## Configuration des filtres + +Les rapports prennent en charge des filtres liés aux graphiques, permettant aux utilisateurs de filtrer dynamiquement les données affichées. Les filtres sont définis dans le tableau `filters` de la configuration du rapport. + +```json +{ + "filters": [ + { + "title": "Région", + "placeholder": "Sélectionnez une région", + "cubeCode": "FORM_XXXXXX", + "valueField": "region_id", + "labelField": "region_name", + "linkTo": ["chart_1", "chart_2"] + } + ] +} +``` + +| Champ | Requis | Description | +|-------|--------|-------------| +| **title** | Oui | Libellé affiché pour le filtre | +| **placeholder** | Non | Texte indicatif affiché lorsque aucune valeur n'est sélectionnée | +| **cubeCode** | Oui | Code du cube de données source pour les options du filtre | +| **valueField** | Oui | Champ utilisé comme valeur de l'option | +| **labelField** | Oui | Champ utilisé comme libellé affiché de l'option | +| **linkTo** | Oui | Liste des identifiants de graphiques auxquels le filtre est lié | + + +Les champs de type `selectField` génèrent automatiquement des filtres déroulants dans le rapport. + + +--- + ## Types de graphiques | Type | Description | Idéal pour | @@ -95,6 +129,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ | **combo** | Graphique combiné (barres + lignes) | Comparaisons à double axe | | **pivot** | Tableau croisé dynamique | Analyse multidimensionnelle | | **gauge** | Jauge | Suivi de progression ou d'objectifs | +| **radar** | Graphique radar | Comparaisons multidimensionnelles | | **funnel** | Graphique en entonnoir | Conversion par étapes | --- @@ -130,7 +165,7 @@ Définir `w` ou `h` à `0` est valide et sera respecté. Si omis, les valeurs pa { "type": "bar", "title": "Sales by Region", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "region", "yField": "amount", "aggregation": "sum", @@ -145,7 +180,7 @@ Définir `w` ou `h` à `0` est valide et sera respecté. Si omis, les valeurs pa { "type": "line", "title": "Traffic Trend", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "date", "yField": "visitors", "aggregation": "sum" @@ -158,7 +193,7 @@ Définir `w` ou `h` à `0` est valide et sera respecté. Si omis, les valeurs pa { "type": "pie", "title": "Market Share", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "categoryField": "product", "valueField": "share" } @@ -170,7 +205,7 @@ Définir `w` ou `h` à `0` est valide et sera respecté. Si omis, les valeurs pa { "type": "table", "title": "Detail View", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "columns": [ { "field": "name", "title": "Name" }, { "field": "amount", "title": "Amount" }, @@ -181,6 +216,28 @@ Définir `w` ou `h` à `0` est valide et sera respecté. Si omis, les valeurs pa --- +## Format du cubeCode + +Le `cubeCode` est dérivé du `formUuid` du formulaire source, en remplaçant les tirets (`-`) par des underscores (`_`) et en convertissant le tout en majuscules. + +Par exemple, si le `formUuid` est : + +``` +form-monthly-sales +``` + +Le `cubeCode` correspondant sera : + +``` +FORM_MONTHLY_SALES +``` + + +Pour obtenir le `cubeCode` d'un formulaire, prenez son `formUuid`, remplacez tous les tirets par des underscores et mettez le résultat en majuscules. + + +--- + ## Fonctions d'agrégation | Fonction | Description | @@ -203,7 +260,7 @@ Définir `w` ou `h` à `0` est valide et sera respecté. Si omis, les valeurs pa { "type": "bar", "title": "Monthly Sales", - "dataSource": "form_monthly_sales", + "cubeCode": "FORM_MONTHLY_SALES", "xField": "month", "yField": "sales_amount", "aggregation": "sum" @@ -211,14 +268,14 @@ Définir `w` ou `h` à `0` est valide et sera respecté. Si omis, les valeurs pa { "type": "pie", "title": "Product Categories", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "categoryField": "product_category", "valueField": "sales_amount" }, { "type": "line", "title": "Sales Trend", - "dataSource": "form_daily_sales", + "cubeCode": "FORM_DAILY_SALES", "xField": "date", "yField": "sales_amount", "aggregation": "sum" @@ -226,7 +283,7 @@ Définir `w` ou `h` à `0` est valide et sera respecté. Si omis, les valeurs pa { "type": "table", "title": "Sales Detail", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "columns": [ { "field": "order_no", "title": "Order No.", "width": 150 }, { "field": "customer_name", "title": "Customer", "width": 200 }, diff --git a/hi/features/report.mdx b/hi/features/report.mdx index 0567c5a..9d1931a 100644 --- a/hi/features/report.mdx +++ b/hi/features/report.mdx @@ -45,7 +45,7 @@ openyida create-report APP_XXXXXX "Sales Dashboard" '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "sales_form", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "amount" } @@ -73,7 +73,7 @@ openyida append-chart '<चार्ट-परिभाष openyida append-chart APP_XXXXXX REPORT_XXXXX '{ "type": "line", "title": "Growth Trend", - "dataSource": "form_sales", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "growth_rate" }' @@ -81,6 +81,43 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ --- +## फ़िल्टर कॉन्फ़िगरेशन + +रिपोर्ट्स में फ़िल्टर जोड़े जा सकते हैं जो चार्ट्स से लिंक होते हैं। फ़िल्टर उपयोगकर्ताओं को रिपोर्ट डेटा को इंटरैक्टिव रूप से फ़िल्टर करने की अनुमति देते हैं। + +```json +{ + "charts": [...], + "filters": [ + { + "field": "region", + "label": "क्षेत्र", + "type": "dropdown", + "linkedCharts": ["chart_1", "chart_2"] + }, + { + "field": "date_range", + "label": "तिथि सीमा", + "type": "dateRange", + "linkedCharts": ["chart_1"] + } + ] +} +``` + +| फ़ील्ड | विवरण | आवश्यक | +|--------|--------|--------| +| **field** | फ़िल्टर किया जाने वाला डेटा फ़ील्ड | हाँ | +| **label** | फ़िल्टर का प्रदर्शन नाम | हाँ | +| **type** | फ़िल्टर प्रकार (`dropdown`, `dateRange`, `text`) | हाँ | +| **linkedCharts** | उन चार्ट्स की सूची जिन पर फ़िल्टर लागू होगा | नहीं | + + + जब `type` को `dropdown` पर सेट किया जाता है, तो ड्रॉपडाउन विकल्प लिंक किए गए डेटा स्रोत से स्वचालित रूप से उत्पन्न होते हैं। + + +--- + ## चार्ट प्रकार | प्रकार | विवरण | के लिए उपयुक्त | @@ -95,6 +132,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ | **combo** | कॉम्बो चार्ट (बार + लाइन) | दोहरे अक्ष की तुलना | | **pivot** | क्रॉस पिवट टेबल | बहु-आयामी विश्लेषण | | **gauge** | गेज चार्ट | प्रगति या लक्ष्य ट्रैकिंग | +| **radar** | रडार चार्ट | बहु-आयामी तुलना | | **funnel** | फ़नल चार्ट | चरणबद्ध रूपांतरण | --- @@ -130,7 +168,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "bar", "title": "Sales by Region", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "region", "yField": "amount", "aggregation": "sum", @@ -145,7 +183,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "line", "title": "Traffic Trend", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "date", "yField": "visitors", "aggregation": "sum" @@ -158,7 +196,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "pie", "title": "Market Share", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "categoryField": "product", "valueField": "share" } @@ -170,7 +208,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "table", "title": "Detail View", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "columns": [ { "field": "name", "title": "Name" }, { "field": "amount", "title": "Amount" }, @@ -181,6 +219,25 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ --- +## cubeCode प्रारूप + +`cubeCode` प्रत्येक चार्ट के लिए डेटा स्रोत फॉर्म की पहचान करता है। यह Yida फॉर्म का यूनिक कोड है जो `FORM_` उपसर्ग से शुरू होता है। + +- **प्रारूप**: `FORM_` के बाद अक्षर, अंक या अंडरस्कोर (जैसे `FORM_XXXXXX`, `FORM_MONTHLY_SALES`) +- **कहाँ मिलेगा**: Yida फॉर्म डिज़ाइनर में फॉर्म सेटिंग्स से `cubeCode` प्राप्त करें +- **उपयोग**: प्रत्येक चार्ट परिभाषा में `"cubeCode"` फ़ील्ड अनिवार्य है + +```json +{ + "type": "bar", + "cubeCode": "FORM_XXXXXX", + "xField": "month", + "yField": "amount" +} +``` + +--- + ## एग्रीगेशन फ़ंक्शन | फ़ंक्शन | विवरण | @@ -203,7 +260,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "form_monthly_sales", + "cubeCode": "FORM_MONTHLY_SALES", "xField": "month", "yField": "sales_amount", "aggregation": "sum" @@ -211,14 +268,14 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "pie", "title": "Product Categories", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "categoryField": "product_category", "valueField": "sales_amount" }, { "type": "line", "title": "Sales Trend", - "dataSource": "form_daily_sales", + "cubeCode": "FORM_DAILY_SALES", "xField": "date", "yField": "sales_amount", "aggregation": "sum" @@ -226,7 +283,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "table", "title": "Sales Detail", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "columns": [ { "field": "order_no", "title": "Order No.", "width": 150 }, { "field": "customer_name", "title": "Customer", "width": 200 }, diff --git a/ja/features/report.mdx b/ja/features/report.mdx index a3043c9..e9db893 100644 --- a/ja/features/report.mdx +++ b/ja/features/report.mdx @@ -45,7 +45,7 @@ openyida create-report APP_XXXXXX "Sales Dashboard" '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "sales_form", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "amount" } @@ -73,7 +73,7 @@ openyida append-chart '<チャート定義JSONまたはフ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ "type": "line", "title": "Growth Trend", - "dataSource": "form_sales", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "growth_rate" }' @@ -81,6 +81,61 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ --- +## フィルター設定 + +レポートではフィルターを使用して、チャートとの連動フィルタリングを実現できます。チャート定義JSONの `filters` 配列でフィルターを設定できます。 + +### フィルター付きの完全設定 + +```json +{ + "filters": [ + { + "title": "プロジェクトフィルター", + "placeholder": "プロジェクトを選択", + "cubeCode": "FORM_XXXXXX", + "valueField": { + "fieldCode": "selectField_xxx", + "aliasName": "プロジェクト値", + "dataType": "STRING" + }, + "labelField": { + "fieldCode": "selectField_xxx", + "aliasName": "プロジェクト名", + "dataType": "STRING" + }, + "linkTo": [0, 1] + } + ], + "charts": [ + { + "type": "bar", + "title": "棒グラフ", + "cubeCode": "FORM_XXXXXX", + "xField": "name", + "yField": "value" + } + ] +} +``` + +### フィルターフィールドの説明 + +| フィールド | 必須 | 説明 | +|------------|------|------| +| `title` | はい | フィルタータイトル | +| `placeholder` | いいえ | プレースホルダーテキスト | +| `cubeCode` | はい | データソースフォームID(例:`FORM_XXXXXX`) | +| `valueField` | はい | 値フィールド定義(`fieldCode`、`aliasName`、`dataType`を含む) | +| `labelField` | はい | 表示フィールド定義(`fieldCode`、`aliasName`、`dataType`を含む) | +| `linkTo` | いいえ | 連動対象チャート。配列要素はチャートインデックス(数値)またはチャートタイトル(文字列)。未指定の場合、すべてのチャートに連動 | + + + `filters` を設定しない場合、チャート内の `selectField` タイプのフィールドに対して自動的にドロップダウンフィルターが生成されます。 + + +--- + ## チャートタイプ | タイプ | 説明 | 適用場面 | @@ -95,6 +150,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ | **combo** | コンボチャート(棒+折れ線) | 二軸比較 | | **pivot** | クロスピボットテーブル | 多次元分析 | | **gauge** | ゲージチャート | 進捗や目標の追跡 | +| **radar** | レーダーチャート | 多次元比較分析 | | **funnel** | ファネルチャート | 段階別のコンバージョン | --- @@ -130,7 +186,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "bar", "title": "Sales by Region", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "region", "yField": "amount", "aggregation": "sum", @@ -145,7 +201,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "line", "title": "Traffic Trend", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "date", "yField": "visitors", "aggregation": "sum" @@ -158,7 +214,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "pie", "title": "Market Share", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "categoryField": "product", "valueField": "share" } @@ -170,7 +226,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "table", "title": "Detail View", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "columns": [ { "field": "name", "title": "Name" }, { "field": "amount", "title": "Amount" }, @@ -181,6 +237,21 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ --- +## cubeCode フォーマット + +チャート定義の `cubeCode` はレポートエンジンのデータソース識別子です。フォームの `formUuid` をベースに、ハイフンを**アンダースコア**に置き換えます。 + +``` +formUuid: FORM-AB4ACB9D-D12C-470D-8204-7E05CDC19166 +cubeCode: FORM_AB4ACB9D_D12C_470D_8204_7E05CDC19166 +``` + + + `openyida get-schema` でフォームの `formUuid` を取得し、ハイフンをアンダースコアに置き換えて `cubeCode` にします。ハイフン形式も自動変換されます。 + + +--- + ## 集計関数 | 関数 | 説明 | @@ -203,7 +274,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "form_monthly_sales", + "cubeCode": "FORM_MONTHLY_SALES", "xField": "month", "yField": "sales_amount", "aggregation": "sum" @@ -211,14 +282,14 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "pie", "title": "Product Categories", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "categoryField": "product_category", "valueField": "sales_amount" }, { "type": "line", "title": "Sales Trend", - "dataSource": "form_daily_sales", + "cubeCode": "FORM_DAILY_SALES", "xField": "date", "yField": "sales_amount", "aggregation": "sum" @@ -226,7 +297,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "table", "title": "Sales Detail", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "columns": [ { "field": "order_no", "title": "Order No.", "width": 150 }, { "field": "customer_name", "title": "Customer", "width": 200 }, diff --git a/ko/features/report.mdx b/ko/features/report.mdx index d715a5b..034af0f 100644 --- a/ko/features/report.mdx +++ b/ko/features/report.mdx @@ -45,7 +45,7 @@ openyida create-report APP_XXXXXX "Sales Dashboard" '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "sales_form", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "amount" } @@ -73,7 +73,7 @@ openyida append-chart '<차트-정의-JSON-또는-파일>' openyida append-chart APP_XXXXXX REPORT_XXXXX '{ "type": "line", "title": "Growth Trend", - "dataSource": "form_sales", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "growth_rate" }' @@ -81,6 +81,61 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ --- +## 필터 설정 + +보고서는 차트와의 연동 필터링을 위한 필터를 지원합니다. 차트 정의 JSON의 `filters` 배열로 필터를 설정할 수 있습니다. + +### 필터가 포함된 전체 설정 + +```json +{ + "filters": [ + { + "title": "프로젝트 필터", + "placeholder": "프로젝트를 선택하세요", + "cubeCode": "FORM_XXXXXX", + "valueField": { + "fieldCode": "selectField_xxx", + "aliasName": "프로젝트 값", + "dataType": "STRING" + }, + "labelField": { + "fieldCode": "selectField_xxx", + "aliasName": "프로젝트 이름", + "dataType": "STRING" + }, + "linkTo": [0, 1] + } + ], + "charts": [ + { + "type": "bar", + "title": "막대 차트", + "cubeCode": "FORM_XXXXXX", + "xField": "name", + "yField": "value" + } + ] +} +``` + +### 필터 필드 설명 + +| 필드 | 필수 | 설명 | +|------|------|------| +| `title` | 예 | 필터 제목 | +| `placeholder` | 아니오 | 플레이스홀더 텍스트 | +| `cubeCode` | 예 | 데이터 소스 양식 ID (예: `FORM_XXXXXX`) | +| `valueField` | 예 | 값 필드 정의 (`fieldCode`, `aliasName`, `dataType` 포함) | +| `labelField` | 예 | 표시 필드 정의 (`fieldCode`, `aliasName`, `dataType` 포함) | +| `linkTo` | 아니오 | 연동 대상 차트. 배열 요소는 차트 인덱스(숫자) 또는 차트 제목(문자열). 미지정 시 모든 차트에 연동 | + + + `filters`를 설정하지 않으면 차트의 `selectField` 유형 필드에 대해 자동으로 드롭다운 필터가 생성됩니다. + + +--- + ## 차트 유형 | 유형 | 설명 | 적합한 용도 | @@ -95,6 +150,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ | **combo** | 콤보 차트 (막대 + 꺾은선) | 이중 축 비교 | | **pivot** | 크로스 피벗 테이블 | 다차원 분석 | | **gauge** | 게이지 차트 | 진행률 또는 목표 추적 | +| **radar** | 레이더 차트 | 다차원 비교 분석 | | **funnel** | 퍼널 차트 | 단계별 전환 | --- @@ -130,7 +186,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "bar", "title": "Sales by Region", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "region", "yField": "amount", "aggregation": "sum", @@ -145,7 +201,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "line", "title": "Traffic Trend", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "date", "yField": "visitors", "aggregation": "sum" @@ -158,7 +214,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "pie", "title": "Market Share", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "categoryField": "product", "valueField": "share" } @@ -170,7 +226,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "table", "title": "Detail View", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "columns": [ { "field": "name", "title": "Name" }, { "field": "amount", "title": "Amount" }, @@ -179,6 +235,19 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ } ``` +## cubeCode 형식 + +차트 정의의 `cubeCode`는 보고서 엔진의 데이터 소스 식별자입니다. 양식의 `formUuid`를 기반으로 하이픈을 **밑줄**로 대체합니다. + +``` +formUuid: FORM-AB4ACB9D-D12C-470D-8204-7E05CDC19166 +cubeCode: FORM_AB4ACB9D_D12C_470D_8204_7E05CDC19166 +``` + + + `openyida get-schema`로 양식의 `formUuid`를 가져온 다음 하이픈을 밑줄로 바꿔 `cubeCode`를 얻을 수 있습니다. 하이픈 형식도 자동 변환됩니다. + + --- ## 집계 함수 @@ -203,7 +272,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "form_monthly_sales", + "cubeCode": "FORM_MONTHLY_SALES", "xField": "month", "yField": "sales_amount", "aggregation": "sum" @@ -211,14 +280,14 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "pie", "title": "Product Categories", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "categoryField": "product_category", "valueField": "sales_amount" }, { "type": "line", "title": "Sales Trend", - "dataSource": "form_daily_sales", + "cubeCode": "FORM_DAILY_SALES", "xField": "date", "yField": "sales_amount", "aggregation": "sum" @@ -226,7 +295,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "table", "title": "Sales Detail", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "columns": [ { "field": "order_no", "title": "Order No.", "width": 150 }, { "field": "customer_name", "title": "Customer", "width": 200 }, diff --git a/pt/features/report.mdx b/pt/features/report.mdx index a53245b..5cc26f1 100644 --- a/pt/features/report.mdx +++ b/pt/features/report.mdx @@ -45,7 +45,7 @@ openyida create-report APP_XXXXXX "Sales Dashboard" '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "sales_form", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "amount" } @@ -73,7 +73,7 @@ openyida append-chart '' openyida append-chart APP_XXXXXX REPORT_XXXXX '{ "type": "line", "title": "Growth Trend", - "dataSource": "form_sales", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "growth_rate" }' @@ -81,6 +81,50 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ --- +## Configuração de filtros + +Os relatórios suportam filtros vinculados a gráficos, permitindo que os usuários filtrem dinamicamente os dados exibidos. Os filtros são definidos no nível do relatório e aplicados aos gráficos correspondentes. + +```json +{ + "filters": [ + { + "label": "Região", + "field": "region", + "type": "dropdown", + "options": ["Norte", "Sul", "Leste", "Oeste"] + }, + { + "label": "Período", + "field": "date", + "type": "dateRange" + } + ], + "charts": [ + { + "type": "bar", + "title": "Vendas por Região", + "cubeCode": "FORM_XXXXXX", + "xField": "region", + "yField": "amount" + } + ] +} +``` + +| Campo | Descrição | +|-------|-----------| +| **label** | Rótulo exibido para o filtro | +| **field** | Campo do formulário vinculado ao filtro | +| **type** | Tipo de filtro (`dropdown`, `dateRange`, `text`, `number`) | +| **options** | Lista de opções disponíveis (apenas para `dropdown`) | + + +Quando o tipo de filtro é `dropdown` e nenhuma opção é fornecida, as opções são geradas automaticamente a partir dos valores distintos do campo no formulário vinculado. + + +--- + ## Tipos de gráficos | Tipo | Descrição | Ideal para | @@ -95,6 +139,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ | **combo** | Gráfico combinado (barras + linhas) | Comparações de eixo duplo | | **pivot** | Tabela dinâmica cruzada | Análise multidimensional | | **gauge** | Gráfico de medidor | Acompanhamento de progresso ou metas | +| **radar** | Gráfico de radar | Comparações multidimensionais | | **funnel** | Gráfico de funil | Conversão por etapas | --- @@ -130,7 +175,7 @@ Definir `w` ou `h` como `0` é válido e será respeitado. Se omitido, os valore { "type": "bar", "title": "Sales by Region", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "region", "yField": "amount", "aggregation": "sum", @@ -145,7 +190,7 @@ Definir `w` ou `h` como `0` é válido e será respeitado. Se omitido, os valore { "type": "line", "title": "Traffic Trend", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "date", "yField": "visitors", "aggregation": "sum" @@ -158,7 +203,7 @@ Definir `w` ou `h` como `0` é válido e será respeitado. Se omitido, os valore { "type": "pie", "title": "Market Share", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "categoryField": "product", "valueField": "share" } @@ -170,7 +215,7 @@ Definir `w` ou `h` como `0` é válido e será respeitado. Se omitido, os valore { "type": "table", "title": "Detail View", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "columns": [ { "field": "name", "title": "Name" }, { "field": "amount", "title": "Amount" }, @@ -181,6 +226,22 @@ Definir `w` ou `h` como `0` é válido e será respeitado. Se omitido, os valore --- +## Formato do cubeCode + +O `cubeCode` identifica a fonte de dados do formulário vinculada ao gráfico. O formato segue o padrão: + +``` +FORM_ +``` + +- O prefixo `FORM_` é obrigatório e indica que a fonte de dados é um formulário. +- O `` corresponde ao código único do formulário, geralmente em letras maiúsculas e separado por underscores (por exemplo, `FORM_MONTHLY_SALES`, `FORM_DAILY_SALES`). +- Para formulários genéricos ou quando o identificador exato não é relevante, utilize o placeholder `FORM_XXXXXX`. + +Você pode encontrar o `cubeCode` de um formulário nas configurações do formulário ou na resposta da API ao listar formulários. + +--- + ## Funções de agregação | Função | Descrição | @@ -203,7 +264,7 @@ Definir `w` ou `h` como `0` é válido e será respeitado. Se omitido, os valore { "type": "bar", "title": "Monthly Sales", - "dataSource": "form_monthly_sales", + "cubeCode": "FORM_MONTHLY_SALES", "xField": "month", "yField": "sales_amount", "aggregation": "sum" @@ -211,14 +272,14 @@ Definir `w` ou `h` como `0` é válido e será respeitado. Se omitido, os valore { "type": "pie", "title": "Product Categories", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "categoryField": "product_category", "valueField": "sales_amount" }, { "type": "line", "title": "Sales Trend", - "dataSource": "form_daily_sales", + "cubeCode": "FORM_DAILY_SALES", "xField": "date", "yField": "sales_amount", "aggregation": "sum" @@ -226,7 +287,7 @@ Definir `w` ou `h` como `0` é válido e será respeitado. Se omitido, os valore { "type": "table", "title": "Sales Detail", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "columns": [ { "field": "order_no", "title": "Order No.", "width": 150 }, { "field": "customer_name", "title": "Customer", "width": 200 }, diff --git a/vi/features/report.mdx b/vi/features/report.mdx index 7bfe25b..a853028 100644 --- a/vi/features/report.mdx +++ b/vi/features/report.mdx @@ -45,7 +45,7 @@ openyida create-report APP_XXXXXX "Sales Dashboard" '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "sales_form", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "amount" } @@ -73,7 +73,7 @@ openyida append-chart '' openyida append-chart APP_XXXXXX REPORT_XXXXX '{ "type": "line", "title": "Growth Trend", - "dataSource": "form_sales", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "growth_rate" }' @@ -81,6 +81,40 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ --- +## Cấu hình bộ lọc + +Báo cáo hỗ trợ cấu hình bộ lọc liên kết với biểu đồ, cho phép người dùng lọc dữ liệu trực tiếp trên giao diện báo cáo. + +```json +{ + "filters": [ + { + "label": "Khu vực", + "field": "region", + "type": "select", + "cubeCode": "FORM_XXXXXX" + }, + { + "label": "Ngày bắt đầu", + "field": "start_date", + "type": "date", + "cubeCode": "FORM_XXXXXX" + } + ] +} +``` + +| Thuộc tính | Mô tả | +|------------|--------| +| **label** | Nhãn hiển thị của bộ lọc | +| **field** | Tên trường dữ liệu để lọc | +| **type** | Loại bộ lọc (`select`, `date`, `text`, `number`) | +| **cubeCode** | Mã cube của biểu mẫu liên kết | + +Khi loại bộ lọc là `select`, hệ thống sẽ tự động tạo danh sách dropdown từ dữ liệu của biểu mẫu liên kết. + +--- + ## Loại biểu đồ | Loại | Mô tả | Phù hợp cho | @@ -95,6 +129,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ | **combo** | Biểu đồ kết hợp (cột + đường) | So sánh hai trục | | **pivot** | Bảng pivot chéo | Phân tích đa chiều | | **gauge** | Biểu đồ đồng hồ đo | Theo dõi tiến độ hoặc mục tiêu | +| **radar** | Biểu đồ radar | Phân tích so sánh đa chiều | | **funnel** | Biểu đồ phễu | Chuyển đổi theo giai đoạn | --- @@ -130,7 +165,7 @@ Bạn có thể kiểm soát chiều rộng và chiều cao của mỗi biểu { "type": "bar", "title": "Sales by Region", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "region", "yField": "amount", "aggregation": "sum", @@ -145,7 +180,7 @@ Bạn có thể kiểm soát chiều rộng và chiều cao của mỗi biểu { "type": "line", "title": "Traffic Trend", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "date", "yField": "visitors", "aggregation": "sum" @@ -158,7 +193,7 @@ Bạn có thể kiểm soát chiều rộng và chiều cao của mỗi biểu { "type": "pie", "title": "Market Share", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "categoryField": "product", "valueField": "share" } @@ -170,7 +205,7 @@ Bạn có thể kiểm soát chiều rộng và chiều cao của mỗi biểu { "type": "table", "title": "Detail View", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "columns": [ { "field": "name", "title": "Name" }, { "field": "amount", "title": "Amount" }, @@ -181,6 +216,18 @@ Bạn có thể kiểm soát chiều rộng và chiều cao của mỗi biểu --- +## Định dạng cubeCode + +`cubeCode` là mã định danh duy nhất của biểu mẫu (form) được sử dụng làm nguồn dữ liệu cho biểu đồ. Định dạng của `cubeCode` tuân theo quy tắc sau: + +- Bắt đầu bằng tiền tố `FORM_` +- Theo sau là mã định danh viết hoa, ví dụ: `FORM_MONTHLY_SALES`, `FORM_DAILY_SALES` +- Đối với biểu mẫu chung, sử dụng mã UUID dạng `FORM_XXXXXX` + +Bạn có thể tìm `cubeCode` của biểu mẫu trong phần cấu hình biểu mẫu trên giao diện quản trị Yida. + +--- + ## Hàm tổng hợp | Hàm | Mô tả | @@ -203,7 +250,7 @@ Bạn có thể kiểm soát chiều rộng và chiều cao của mỗi biểu { "type": "bar", "title": "Monthly Sales", - "dataSource": "form_monthly_sales", + "cubeCode": "FORM_MONTHLY_SALES", "xField": "month", "yField": "sales_amount", "aggregation": "sum" @@ -211,14 +258,14 @@ Bạn có thể kiểm soát chiều rộng và chiều cao của mỗi biểu { "type": "pie", "title": "Product Categories", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "categoryField": "product_category", "valueField": "sales_amount" }, { "type": "line", "title": "Sales Trend", - "dataSource": "form_daily_sales", + "cubeCode": "FORM_DAILY_SALES", "xField": "date", "yField": "sales_amount", "aggregation": "sum" @@ -226,7 +273,7 @@ Bạn có thể kiểm soát chiều rộng và chiều cao của mỗi biểu { "type": "table", "title": "Sales Detail", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "columns": [ { "field": "order_no", "title": "Order No.", "width": 150 }, { "field": "customer_name", "title": "Customer", "width": 200 }, diff --git a/zh-Hant/features/report.mdx b/zh-Hant/features/report.mdx index 4e486b9..ddc13d1 100644 --- a/zh-Hant/features/report.mdx +++ b/zh-Hant/features/report.mdx @@ -45,7 +45,7 @@ openyida create-report APP_XXXXXX "Sales Dashboard" '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "sales_form", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "amount" } @@ -73,7 +73,7 @@ openyida append-chart '<圖表定義JSON或檔案路徑>' openyida append-chart APP_XXXXXX REPORT_XXXXX '{ "type": "line", "title": "Growth Trend", - "dataSource": "form_sales", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "growth_rate" }' @@ -81,6 +81,61 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ --- +## 篩選器設定 + +報表支援新增篩選器,實現與圖表的聯動過濾。你可以在圖表定義 JSON 中使用 `filters` 陣列來設定篩選器。 + +### 帶篩選器的完整設定 + +```json +{ + "filters": [ + { + "title": "專案篩選", + "placeholder": "請選擇專案", + "cubeCode": "FORM_XXXXXX", + "valueField": { + "fieldCode": "selectField_xxx", + "aliasName": "專案值", + "dataType": "STRING" + }, + "labelField": { + "fieldCode": "selectField_xxx", + "aliasName": "專案名稱", + "dataType": "STRING" + }, + "linkTo": [0, 1] + } + ], + "charts": [ + { + "type": "bar", + "title": "柱狀圖", + "cubeCode": "FORM_XXXXXX", + "xField": "name", + "yField": "value" + } + ] +} +``` + +### 篩選器欄位說明 + +| 欄位 | 必填 | 說明 | +|------|------|------| +| `title` | 是 | 篩選器標題 | +| `placeholder` | 否 | 佔位提示文字 | +| `cubeCode` | 是 | 資料來源表單 ID(如 `FORM_XXXXXX`) | +| `valueField` | 是 | 值欄位定義(包含 `fieldCode`、`aliasName`、`dataType`) | +| `labelField` | 是 | 顯示欄位定義(包含 `fieldCode`、`aliasName`、`dataType`) | +| `linkTo` | 否 | 聯動目標圖表,陣列元素可以是圖表索引(數字)或圖表標題(字串)。未指定則聯動所有圖表 | + + + 如果未設定 `filters`,系統會自動為圖表中的 `selectField` 類型欄位產生下拉篩選器。 + + +--- + ## 圖表類型 | 類型 | 說明 | 適用場景 | @@ -95,6 +150,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ | **combo** | 柱線混合圖 | 雙軸對比 | | **pivot** | 交叉透視表 | 多維分析 | | **gauge** | 儀表盤 | 進度或目標追蹤 | +| **radar** | 雷達圖 | 多維度對比分析 | | **funnel** | 漏斗圖 | 階段轉化分析 | --- @@ -130,7 +186,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "bar", "title": "Sales by Region", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "region", "yField": "amount", "aggregation": "sum", @@ -145,7 +201,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "line", "title": "Traffic Trend", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "date", "yField": "visitors", "aggregation": "sum" @@ -158,7 +214,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "pie", "title": "Market Share", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "categoryField": "product", "valueField": "share" } @@ -170,7 +226,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "table", "title": "Detail View", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "columns": [ { "field": "name", "title": "Name" }, { "field": "amount", "title": "Amount" }, @@ -181,6 +237,21 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ --- +## cubeCode 格式 + +圖表定義中的 `cubeCode` 是報表引擎的資料來源識別碼。它基於表單的 `formUuid`,但使用**底線**分隔而非連字號。 + +``` +formUuid: FORM-AB4ACB9D-D12C-470D-8204-7E05CDC19166 +cubeCode: FORM_AB4ACB9D_D12C_470D_8204_7E05CDC19166 +``` + + + 你可以使用 `openyida get-schema` 取得表單的 `formUuid`,然後將連字號替換為底線作為 `cubeCode`。系統也會自動轉換連字號格式。 + + +--- + ## 聚合函數 | 函數 | 說明 | @@ -203,7 +274,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "form_monthly_sales", + "cubeCode": "FORM_MONTHLY_SALES", "xField": "month", "yField": "sales_amount", "aggregation": "sum" @@ -211,14 +282,14 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "pie", "title": "Product Categories", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "categoryField": "product_category", "valueField": "sales_amount" }, { "type": "line", "title": "Sales Trend", - "dataSource": "form_daily_sales", + "cubeCode": "FORM_DAILY_SALES", "xField": "date", "yField": "sales_amount", "aggregation": "sum" @@ -226,7 +297,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "table", "title": "Sales Detail", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "columns": [ { "field": "order_no", "title": "Order No.", "width": 150 }, { "field": "customer_name", "title": "Customer", "width": 200 }, diff --git a/zh/features/report.mdx b/zh/features/report.mdx index 60cc042..1a9191b 100644 --- a/zh/features/report.mdx +++ b/zh/features/report.mdx @@ -45,7 +45,7 @@ openyida create-report APP_XXXXXX "Sales Dashboard" '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "sales_form", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "amount" } @@ -73,7 +73,7 @@ openyida append-chart '<图表定义JSON或文件路径>' openyida append-chart APP_XXXXXX REPORT_XXXXX '{ "type": "line", "title": "Growth Trend", - "dataSource": "form_sales", + "cubeCode": "FORM_XXXXXX", "xField": "month", "yField": "growth_rate" }' @@ -81,6 +81,61 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ --- +## 筛选器配置 + +报表支持添加筛选器,实现与图表的联动过滤。你可以在图表定义 JSON 中使用 `filters` 数组来配置筛选器。 + +### 带筛选器的完整配置 + +```json +{ + "filters": [ + { + "title": "项目筛选", + "placeholder": "请选择项目", + "cubeCode": "FORM_XXXXXX", + "valueField": { + "fieldCode": "selectField_xxx", + "aliasName": "项目值", + "dataType": "STRING" + }, + "labelField": { + "fieldCode": "selectField_xxx", + "aliasName": "项目名称", + "dataType": "STRING" + }, + "linkTo": [0, 1] + } + ], + "charts": [ + { + "type": "bar", + "title": "柱状图", + "cubeCode": "FORM_XXXXXX", + "xField": "name", + "yField": "value" + } + ] +} +``` + +### 筛选器字段说明 + +| 字段 | 必填 | 说明 | +|------|------|------| +| `title` | 是 | 筛选器标题 | +| `placeholder` | 否 | 占位提示文本 | +| `cubeCode` | 是 | 数据源表单 ID(如 `FORM_XXXXXX`) | +| `valueField` | 是 | 值字段定义(包含 `fieldCode`、`aliasName`、`dataType`) | +| `labelField` | 是 | 显示字段定义(包含 `fieldCode`、`aliasName`、`dataType`) | +| `linkTo` | 否 | 联动目标图表,数组元素可以是图表索引(数字)或图表标题(字符串)。不指定则联动所有图表 | + + + 如果未配置 `filters`,系统会自动为图表中的 `selectField` 类型字段生成下拉筛选器。 + + +--- + ## 图表类型 | 类型 | 说明 | 适用场景 | @@ -95,6 +150,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ | **combo** | 柱线混合图 | 双轴对比 | | **pivot** | 交叉透视表 | 多维分析 | | **gauge** | 仪表盘 | 进度或目标跟踪 | +| **radar** | 雷达图 | 多维度对比分析 | | **funnel** | 漏斗图 | 阶段转化分析 | --- @@ -130,7 +186,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "bar", "title": "Sales by Region", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "region", "yField": "amount", "aggregation": "sum", @@ -145,7 +201,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "line", "title": "Traffic Trend", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "xField": "date", "yField": "visitors", "aggregation": "sum" @@ -158,7 +214,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "pie", "title": "Market Share", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "categoryField": "product", "valueField": "share" } @@ -170,7 +226,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "table", "title": "Detail View", - "dataSource": "form_uuid", + "cubeCode": "FORM_XXXXXX", "columns": [ { "field": "name", "title": "Name" }, { "field": "amount", "title": "Amount" }, @@ -181,6 +237,21 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ --- +## cubeCode 格式 + +图表定义中的 `cubeCode` 是报表引擎的数据源标识。它基于表单的 `formUuid`,但使用**下划线**分隔而非连字符。 + +``` +formUuid: FORM-AB4ACB9D-D12C-470D-8204-7E05CDC19166 +cubeCode: FORM_AB4ACB9D_D12C_470D_8204_7E05CDC19166 +``` + + + 你可以使用 `openyida get-schema` 获取表单的 `formUuid`,然后将连字符替换为下划线作为 `cubeCode`。系统也会自动转换连字符格式。 + + +--- + ## 聚合函数 | 函数 | 说明 | @@ -203,7 +274,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "bar", "title": "Monthly Sales", - "dataSource": "form_monthly_sales", + "cubeCode": "FORM_MONTHLY_SALES", "xField": "month", "yField": "sales_amount", "aggregation": "sum" @@ -211,14 +282,14 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "pie", "title": "Product Categories", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "categoryField": "product_category", "valueField": "sales_amount" }, { "type": "line", "title": "Sales Trend", - "dataSource": "form_daily_sales", + "cubeCode": "FORM_DAILY_SALES", "xField": "date", "yField": "sales_amount", "aggregation": "sum" @@ -226,7 +297,7 @@ openyida append-chart APP_XXXXXX REPORT_XXXXX '{ { "type": "table", "title": "Sales Detail", - "dataSource": "form_sales", + "cubeCode": "FORM_SALES", "columns": [ { "field": "order_no", "title": "Order No.", "width": 150 }, { "field": "customer_name", "title": "Customer", "width": 200 },