Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
تُعدّ إضافة حقل أساسي إلى منطقة البيانات (القيم) الخطوة الأولى في تشكيل كيفية تجميع الجدول المحوري لبيانات المصدر. يوفّر Aspose.Cells overload الخاص بـ PivotTable.add_field_to_area(PivotFieldType, str)، الذي يقبل الثابت PivotFieldType.DATA واسم عمود المصدر. بمجرد إضافة حقل إلى منطقة البيانات، يعرضه الـ API من خلال مجموعة PivotTable.data_fields، بالترتيب الذي تمت إضافة الحقول به. افتراضيًا، يتم تلخيص عمود المصدر الرقمي باستخدام ConsolidationFunction.SUM، بينما يكون العمود غير الرقمي افتراضيًا على Count.
import aspose.cells as ac
from aspose.cells.pivot import PivotFieldType, ConsolidationFunction
workbook = ac.Workbook()
worksheet = workbook.worksheets[0]
worksheet.name = "Data"
headers = ["Category", "Item", "Year", "Amount"]
for j, h in enumerate(headers):
worksheet.cells.get(0, j).put_value(h)
data = [
["Fruit", "Apple", 2020, 100],
["Fruit", "Apple", 2021, 150],
["Fruit", "Banana", 2020, 80],
["Fruit", "Banana", 2021, 90],
["Vegetable", "Carrot", 2020, 50],
["Vegetable", "Carrot", 2021, 60],
["Vegetable", "Daikon", 2020, 40],
["Vegetable", "Daikon", 2021, 45],
]
for i, row in enumerate(data):
for j, val in enumerate(row):
worksheet.cells.get(i + 1, j).put_value(val)
pivot_index = worksheet.pivot_tables.add("A1:D9", "F3", "PivotTable1", True, False)
pivot_table = worksheet.pivot_tables[pivot_index]
pivot_table.add_field_to_area(PivotFieldType.ROW, "Category")
pivot_table.add_field_to_area(PivotFieldType.ROW, "Item")
pivot_table.add_field_to_area(PivotFieldType.COLUMN, "Year")
pivot_table.add_field_to_area(PivotFieldType.DATA, "Amount")
pivot_table.add_field_to_area(PivotFieldType.DATA, "Amount")
pivot_table.data_fields[1].function = ConsolidationFunction.COUNT
pivot_table.add_field_to_area(PivotFieldType.COLUMN, pivot_table.values_field)
pivot_table.calculate_data()
workbook.save("output_plot.xlsx")
كل حقل موضوع في منطقة البيانات يتم تغليفه داخليًا كنسخة من PivotField، وتُرجع خاصية function الخاصة به قيمة من تعداد ConsolidationFunction. يتيح لك المُعيّن function نفسه التبديل بين التجمّعات المتاحة، بما في ذلك Sum، وCount، وAverage، وMax، وMin، وProduct، وStdDev، وStdDevp، وVar، وVarp.
function إلا على التجمّع، بينما لا يتغيّر عمود المصدر.
يمكنك بالتالي إبقاء حقل بيانات واحد على Sum بينما تضيف حقل بيانات ثانٍ يستهدف عمود المصدر نفسه ولكن يستخدم Count أو Average، كل ذلك في جدول محوري واحد.
import aspose.cells as ac
from aspose.cells.pivot import PivotFieldType, ConsolidationFunction
workbook = ac.Workbook()
worksheet = workbook.worksheets[0]
worksheet.name = "Data"
headers = ["Category", "Item", "Year", "Amount"]
for j, h in enumerate(headers):
worksheet.cells.get(0, j).put_value(h)
data = [
["Fruit", "Apple", 2020, 100],
["Fruit", "Apple", 2021, 150],
["Fruit", "Banana", 2020, 80],
["Fruit", "Banana", 2021, 90],
["Vegetable", "Carrot", 2020, 50],
["Vegetable", "Carrot", 2021, 60],
["Vegetable", "Daikon", 2020, 40],
["Vegetable", "Daikon", 2021, 45],
]
for i, row in enumerate(data):
for j, val in enumerate(row):
worksheet.cells.get(i + 1, j).put_value(val)
pivot_index = worksheet.pivot_tables.add("A1:D9", "F3", "PivotTable1", True, False)
pivot_table = worksheet.pivot_tables[pivot_index]
pivot_table.add_field_to_area(PivotFieldType.ROW, "Category")
pivot_table.add_field_to_area(PivotFieldType.ROW, "Item")
pivot_table.add_field_to_area(PivotFieldType.COLUMN, "Year")
pivot_table.add_field_to_area(PivotFieldType.DATA, "Amount")
pivot_table.add_field_to_area(PivotFieldType.DATA, "Amount")
pivot_table.data_fields[1].function = ConsolidationFunction.COUNT
pivot_table.calculate_data()
workbook.save("output_function.xlsx")
عندما يحتوي الجدول المحوري على حقلَي بيانات أو أكثر، يوفّر Aspose.Cells حقلًا افتراضيًا إضافيًا يُسمى PivotTable.values_field. يمثّل هذا الحقل الافتراضي تجمّع كل حقل بيانات موجود في منطقة البيانات. يمكنك سحبه إلى منطقة الصفوف أو الأعمدة كحقل محوري أساسي، وهو أمر مفيد لتخطيط مقاييس متعددة جنبًا إلى جنب.
PivotTable.values_field إذا لم يكن هناك أي حقل قيمة أو إذا كان هناك حقل قيمة واحد فقط.
تستعرض السيناريوهات أدناه ثلاثة أمثلة شاملة توضّح كل قدرة من القدرات الموصوفة أعلاه على نفس بنية الجدول المحوري.
import aspose.cells as ac
from aspose.cells.pivot import PivotFieldType
workbook = ac.Workbook()
worksheet = workbook.worksheets[0]
worksheet.name = "Data"
headers = ["Category", "Item", "Year", "Amount"]
for j, h in enumerate(headers):
worksheet.cells.get(0, j).put_value(h)
data = [
["Fruit", "Apple", 2020, 100],
["Fruit", "Apple", 2021, 150],
["Fruit", "Banana", 2020, 80],
["Fruit", "Banana", 2021, 90],
["Vegetable", "Carrot", 2020, 50],
["Vegetable", "Carrot", 2021, 60],
["Vegetable", "Daikon", 2020, 40],
["Vegetable", "Daikon", 2021, 45],
]
for i, row in enumerate(data):
for j, val in enumerate(row):
worksheet.cells.get(i + 1, j).put_value(val)
pivot_index = worksheet.pivot_tables.add("A1:D9", "F3", "PivotTable1", True, False)
pivot_table = worksheet.pivot_tables[pivot_index]
pivot_table.add_field_to_area(PivotFieldType.ROW, "Category")
pivot_table.add_field_to_area(PivotFieldType.ROW, "Item")
pivot_table.add_field_to_area(PivotFieldType.COLUMN, "Year")
pivot_table.add_field_to_area(PivotFieldType.DATA, "Amount")
pivot_table.calculate_data()
workbook.save("output_drag.xlsx")
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.