> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# avgMap

> مثال على استخدام المُركِّب avgMap

<div id="description">
  ## الوصف
</div>

يمكن تطبيق المُركِّب [`Map`](/ar/reference/functions/aggregate-functions/combinators#-map) على الدالة [`avg`](/ar/reference/functions/aggregate-functions/avg)
لحساب المتوسط الحسابي للقيم في `Map` وفقًا لكل مفتاح، باستخدام دالة المُركِّب التجميعي `avgMap`.

<div id="example-usage">
  ## مثال على الاستخدام
</div>

في هذا المثال، سننشئ جدولًا يخزّن رموز الحالة وعدد مرات ظهورها عبر فترات زمنية مختلفة،
بحيث يتضمن كل صف قيمة من النوع Map تربط رموز الحالة بعدد مرات ظهور كل منها. سنستخدم
`avgMap` لحساب متوسط عدد مرات الظهور لكل رمز حالة ضمن كل فترة زمنية.

```sql title="Query" theme={null}
CREATE TABLE metrics(
    date Date,
    timeslot DateTime,
    status Map(String, UInt64)
) ENGINE = MergeTree
ORDER BY ();

INSERT INTO metrics VALUES
    ('2000-01-01', '2000-01-01 00:00:00', (['a', 'b', 'c'], [15, 25, 35])),
    ('2000-01-01', '2000-01-01 00:00:00', (['c', 'd', 'e'], [45, 55, 65])),
    ('2000-01-01', '2000-01-01 00:01:00', (['d', 'e', 'f'], [75, 85, 95])),
    ('2000-01-01', '2000-01-01 00:01:00', (['f', 'g', 'g'], [105, 115, 125]));

SELECT
    timeslot,
    avgMap(status),
FROM metrics
GROUP BY timeslot;
```

ستحسب الدالة `avgMap` متوسط التكرار لكل رمز حالة ضمن كل فاصل زمني. على سبيل المثال:

* في الفاصل الزمني '2000-01-01 00:00:00':
  * الحالة 'a': 15
  * الحالة 'b': 25
  * الحالة 'c': (35 + 45) / 2 = 40
  * الحالة 'd': 55
  * الحالة 'e': 65
* في الفاصل الزمني '2000-01-01 00:01:00':
  * الحالة 'd': 75
  * الحالة 'e': 85
  * الحالة 'f': (95 + 105) / 2 = 100
  * الحالة 'g': (115 + 125) / 2 = 120

```response title="Response" theme={null}
   ┌────────────timeslot─┬─avgMap(status)───────────────────────┐
1. │ 2000-01-01 00:01:00 │ {'d':75,'e':85,'f':100,'g':120}      │
2. │ 2000-01-01 00:00:00 │ {'a':15,'b':25,'c':40,'d':55,'e':65} │
   └─────────────────────┴──────────────────────────────────────┘
```

<div id="see-also">
  ## انظر أيضًا
</div>

* [`avg`](/ar/reference/functions/aggregate-functions/avg)
* [`Map combinator`](/ar/reference/functions/aggregate-functions/combinators#-map)
