كيفية إنشاء رسم بياني ديناميكي مع قائمة منسدلة

سيناريوهات الاستخدام المحتملة

رسم بياني ديناميكي مع قائمة منسدلة في إكسل هو أداة قوية تتيح للمستخدمين إنشاء رسوم بيانية تفاعلية يمكن تحديثها بناءً على البيانات المحددة. تكون هذه الميزة مفيدة بشكل خاص في الحالات التي تحتاج فيها إلى تحليل مجموعات بيانات متعددة أو مقارنة سيناريوات مختلفة.

تطبيق شائع آخر لرسم بياني ديناميكي بقائمة منسدلة في التحليل المالي. على سبيل المثال ، قد تحتوي شركة على مجموعات متعددة من البيانات المالية لسنوات أو أقسام مختلفة. من خلال استخدام قائمة منسدلة ، يمكن للمستخدمين تحديد مجموعة البيانات المحددة التي يرغبون في تحليلها ، وسيتم تحديث الرسم البياني تلقائيًا لعرض المعلومات المقابلة. يُسمح بذلك بسهولة المقارنة والتعرف على الاتجاهات أو الأنماط.

تطبيق آخر هو في المبيعات والتسويق. قد تحتوي شركة على بيانات مبيعات لمنتجات أو مناطق مختلفة. باستخدام رسم بياني ديناميكي مع قائمة منسدلة ، يمكن للمستخدمين اختيار منتج محدد أو منطقة من القائمة المنسدلة ، وسيتم تحديث الرسم البياني بشكل ديناميكي لعرض أداء المبيعات للاختيار المحدد. يساعد ذلك في تحديد المناطق أو المنتجات الأكثر أداءً واتخاذ قرارات تستند إلى البيانات.

باختصار ، يوفر رسم بياني ديناميكي مع قائمة منسدلة في إكسل وسيلة مرنة وتفاعلية لتصور وتحليل البيانات. إنه قيم في الحالات التي تحتاج فيها إلى مقارنة مجموعات بيانات متعددة أو استكشاف سيناريوات مختلفة ، مما يجعله أداة متعددة الاستخدامات للتحليل المالي والمبيعات والتسويق والعديد من التطبيقات الأخرى.

استخدم Aspose.Cells for Python via .NET لإنشاء مخطط ديناميكي مع قائمة منسدلة.

في الفقرات التالية، سنوضح لك كيفية إنشاء مخطط ديناميكي مع قائمة منسدلة باستخدام Aspose.Cells for Python via .NET. سنُظهر لك الكود للمثال، بالإضافة إلى ملف إكسل تم إنشاؤه بهذا الكود.

الكود المثالي

سيقوم الكود العيني التالي بتوليد ملف رسم بياني ديناميكي مع قائمة منسدلة.

from aspose.cells import BackgroundType, CellArea, ValidationType, Workbook
from aspose.cells.charts import ChartType
from aspose.pydrawing import Color
# How to Create a Dynamic Chart with Dropdownlist
# Your local test path
LocalPath = r""
# Create a new workbook and access the first worksheet.
workbook = Workbook()
sheets = workbook.worksheets
sheet = sheets[0]
# Populate the data for the chart. Add values to cells and set series names.
sheet.cells.get("A3").put_value("Tea")
sheet.cells.get("A4").put_value("Coffee")
sheet.cells.get("A5").put_value("Sugar")
# In this example, we will add 12 months of data
sheet.cells.get("B2").put_value("Jan")
sheet.cells.get("C2").put_value("Feb")
sheet.cells.get("D2").put_value("Mar")
sheet.cells.get("E2").put_value("Apr")
sheet.cells.get("F2").put_value("May")
sheet.cells.get("G2").put_value("Jun")
sheet.cells.get("H2").put_value("Jul")
sheet.cells.get("I2").put_value("Aug")
sheet.cells.get("J2").put_value("Sep")
sheet.cells.get("K2").put_value("Oct")
sheet.cells.get("L2").put_value("Nov")
sheet.cells.get("M2").put_value("Dec")
allMonths = 12
iCount = 3
for i in range(iCount):
for j in range(allMonths):
_row = i + 2
_column = j + 1
value = 50 * (i % 2) + 20 * (j % 3) + 10 * (i / 3) + 10
sheet.cells.get(_row, _column).put_value(value)
# This is the Dropdownlist for Dynamic Data
ca = CellArea()
ca.start_row = 9
ca.end_row = 9
ca.start_column = 0
ca.end_column = 0
_index = sheet.validations.add(ca)
_va = sheet.validations[_index]
_va.type = ValidationType.LIST
_va.in_cell_drop_down = True
_va.formula1 = "=$B$2:$M$2"
sheet.cells.get("A9").put_value("Current Month")
sheet.cells.get("A10").put_value("Jan")
_style = sheet.cells.get("A10").get_style()
_style.font.is_bold = True
_style.pattern = BackgroundType.SOLID
_style.foreground_color = Color.yellow
sheet.cells.get("A10").set_style(_style)
# Set the dynamic range for the chart's data source.
index = sheets.names.add("Sheet1!ChtMonthData")
sheets.names[index].refers_to = "=OFFSET(Sheet1!$A$3,0,MATCH($A$10, $B$2:$M$2, 0),3,1)"
# Set the dynamic range for the chart's data labels.
index = sheets.names.add("Sheet1!ChtXLabels")
sheets.names[index].refers_to = "=Sheet1!$A$3:$A$5"
# Create a chart object and set its data source.
chartIndex = sheet.charts.add(ChartType.COLUMN, 8, 2, 20, 8)
chart = sheet.charts[chartIndex]
chart.n_series.add("month", True)
chart.n_series[0].name = "=Sheet1!$A$10"
chart.n_series[0].values = "Sheet1!ChtMonthData"
chart.n_series[0].x_values = "Sheet1!ChtXLabels"
# Save the workbook as an Excel file.
workbook.save(LocalPath + "DynamicChartWithDropdownlist.xlsx")

ملاحظات

في الملف الذي تم إنشاؤه، سيقوم الرسم البياني بحساب البيانات ديناميكيًا بالنسبة للشهر المحدد. يتم ذلك باستخدام صيغة “OFFSET” في الكود العيني:

"=OFFSET(Sheet1!$A$3,0,MATCH($A$10, $B$2:$M$2, 0),3,1)"

يمكنك محاولة تغيير قيمة القائمة المنسدلة في الخلية “Sheet1!$A$10”، ستلاحظ التغيير الديناميكي للمخطط. لقد أنشأنا بنجاح مخطط ديناميكي مع قائمة منسدلة باستخدام Aspose.Cells for Python via .NET.