Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
PivotTable.addFieldToArea(PivotFieldType fieldType, String fieldName) yöntemi, kaynak verilerden bir temel alanı dört pivot bölgesinden birine taşır. fieldType argümanı aşağıdaki PivotFieldType değerlerinden birini kabul eder.
ROW — solda dikey olarak yerleştirilen alanlarCOLUMN — üstte yatay olarak yerleştirilen alanlarDATA — değerleri toplanan alanlarPAGE — rapor filtreleri olarak kullanılan alanlarAlanlar eklendikten sonra, PivotTable.getRowFields() ve PivotTable.getColumnFields() yöntemleri aracılığıyla bunlara erişebilirsiniz. Her yöntem bir PivotFieldCollection döndürür. RowFields‘in 0 dizinindeki alan en dıştaki satır alanıdır ve sonraki dizinler onun içine yerleştirilmiş alanları temsil eder. Aynı dizin oluşturma kuralı ColumnFields için de geçerlidir.
Alan iç içe yerleştirme sırası önemlidir. Önce Category alanını satır bölgesine, ardından Item alanını eklemek, dış gruplandırması Category ve iç gruplandırması Item olan bir pivot üretir. Sırayı tersine çevirmek hiyerarşiyi de tersine çevirir.
PivotField.setSubtotals(PivotFieldSubtotalType subtotalType, boolean shown) yöntemi, bir pivot alanı için hangi ara toplam satırlarının görüneceğini kontrol eder. Her çağrı, tek bir ara toplam türünü bağımsız olarak değiştirir. shown = true geçmek ara toplamı görüntülerken, shown = false onu gizler. Her çağrı yalnızca bir türü etkilediğinden, yöntemi farklı subtotalType değerleriyle birden çok kez çağırmak özel bir ara toplam alt kümesi oluşturur.
PivotFieldSubtotalType numaralandırması, kullanılabilir ara toplam türlerini tanımlar.
AUTOMATIC — Aspose.Cells varsayılan seçimi seçer (genellikle sayısal alanlar için SUM)NONE — tüm ara toplam satırlarını gizlerSUMCOUNTAVERAGEMAXMINPRODUCTSTD_DEVSTD_DEVPVARVARPsetSubtotals çağrıları bu durumda görünür bir etki yaratmaz. Bu nedenle bu makale, her Category grubu arasındaki ara toplam sınırının görünür olması için her örnekte satır bölgesine iki satır alanı (dış Category, iç Item) yerleştirir.
setSubtotals çağrısını hiç yapmadığınızda, Aspose.Cells sayısal alanlar için AUTOMATIC seçimini uygular. Aşağıdaki örnek, dış Category satır alanı üzerinde setSubtotals(PivotFieldSubtotalType.AUTOMATIC, true) çağırarak bu davranışı açıkça doğrular.
import jpype
import asposecells
jpype.startJVM()
from asposecells.api import Workbook
from asposecells.api import Workbook, Worksheet, Cells, PivotTable, PivotField, PivotFieldType, PivotFieldSubtotalType
workbook = Workbook()
worksheet = workbook.getWorksheets().get(0)
worksheet.setName("Data")
worksheet.getCells().get(0, 0).putValue("Category")
worksheet.getCells().get(0, 1).putValue("Item")
worksheet.getCells().get(0, 2).putValue("Year")
worksheet.getCells().get(0, 3).putValue("Amount")
worksheet.getCells().get(1, 0).putValue("Fruit")
worksheet.getCells().get(1, 1).putValue("Apple")
worksheet.getCells().get(1, 2).putValue(2020)
worksheet.getCells().get(1, 3).putValue(100)
worksheet.getCells().get(2, 0).putValue("Fruit")
worksheet.getCells().get(2, 1).putValue("Apple")
worksheet.getCells().get(2, 2).putValue(2021)
worksheet.getCells().get(2, 3).putValue(150)
worksheet.getCells().get(3, 0).putValue("Fruit")
worksheet.getCells().get(3, 1).putValue("Banana")
worksheet.getCells().get(3, 2).putValue(2020)
worksheet.getCells().get(3, 3).putValue(80)
worksheet.getCells().get(4, 0).putValue("Fruit")
worksheet.getCells().get(4, 1).putValue("Banana")
worksheet.getCells().get(4, 2).putValue(2021)
worksheet.getCells().get(4, 3).putValue(90)
worksheet.getCells().get(5, 0).putValue("Vegetable")
worksheet.getCells().get(5, 1).putValue("Carrot")
worksheet.getCells().get(5, 2).putValue(2020)
worksheet.getCells().get(5, 3).putValue(50)
worksheet.getCells().get(6, 0).putValue("Vegetable")
worksheet.getCells().get(6, 1).putValue("Carrot")
worksheet.getCells().get(6, 2).putValue(2021)
worksheet.getCells().get(6, 3).putValue(60)
worksheet.getCells().get(7, 0).putValue("Vegetable")
worksheet.getCells().get(7, 1).putValue("Daikon")
worksheet.getCells().get(7, 2).putValue(2020)
worksheet.getCells().get(7, 3).putValue(40)
worksheet.getCells().get(8, 0).putValue("Vegetable")
worksheet.getCells().get(8, 1).putValue("Daikon")
worksheet.getCells().get(8, 2).putValue(2021)
worksheet.getCells().get(8, 3).putValue(45)
pivotIndex = worksheet.getPivotTables().add("A1:D9", "F3", "PivotTable1")
pivotTable = worksheet.getPivotTables().get(pivotIndex)
pivotTable.addFieldToArea(PivotFieldType.ROW, "Category")
pivotTable.addFieldToArea(PivotFieldType.ROW, "Item")
pivotTable.addFieldToArea(PivotFieldType.COLUMN, "Year")
pivotTable.addFieldToArea(PivotFieldType.DATA, "Amount")
categoryField = pivotTable.getRowFields().get(0)
categoryField.setSubtotals(PivotFieldSubtotalType.AUTOMATIC, True)
pivotTable.calculateData()
workbook.save("output_automatic.xlsx")
jpype.shutdownJVM()
setSubtotals(PivotFieldSubtotalType.NONE, true) çağrısı, pivot’tan tüm ara toplam satırlarını kaldırarak yalnızca alan satırlarını ve alttaki genel toplamı bırakır. Bu, ham gruplandırılmış verileri herhangi bir özet satırı olmadan istediğinizde kullanışlıdır.
import jpype
import asposecells
jpype.startJVM()
from asposecells.api import Workbook
from asposecells.api import Workbook, Worksheet, Cells, Range, SaveFormat, PivotFieldType, PivotFieldSubtotalType
workbook = Workbook()
worksheet = workbook.getWorksheets().get(0)
worksheet.setName("Data")
headers = ["Category", "Item", "Year", "Amount"]
for j in range(len(headers)):
worksheet.getCells().get(0, j).putValue(headers[j])
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 in range(len(data)):
for j in range(len(data[0])):
worksheet.getCells().get(i + 1, j).putValue(data[i][j])
pivotIndex = worksheet.getPivotTables().add("A1:D9", "F3", "PivotTable1")
pivotTable = worksheet.getPivotTables().get(pivotIndex)
pivotTable.addFieldToArea(PivotFieldType.ROW, "Category")
pivotTable.addFieldToArea(PivotFieldType.ROW, "Item")
pivotTable.addFieldToArea(PivotFieldType.COLUMN, "Year")
pivotTable.addFieldToArea(PivotFieldType.DATA, "Amount")
categoryField = pivotTable.getRowFields().get(0)
categoryField.setSubtotals(PivotFieldSubtotalType.NONE, True)
pivotTable.calculateData()
workbook.save("output_none.xlsx")
jpype.shutdownJVM()
Tek bir ara toplam türüyle sınırlı değilsiniz. Her setSubtotals çağrısı bir tür üzerinde bağımsız olarak çalışır, dolayısıyla yöntemi iki kez çağırmak — bir kez SUM ve bir kez AVERAGE ile — her Category grubu için iki ara toplam satırından oluşan özel bir alt küme üretir.
import jpype
import asposecells
jpype.startJVM()
from asposecells.api import Workbook
from asposecells.api import Workbook, Worksheet, Cells, Range, SaveFormat, PivotTableCollection, PivotTable, PivotFieldType, PivotField, PivotFieldSubtotalType
workbook = Workbook()
worksheet = workbook.getWorksheets().get(0)
worksheet.setName("Data")
worksheet.getCells().get("A1").putValue("Category")
worksheet.getCells().get("B1").putValue("Item")
worksheet.getCells().get("C1").putValue("Year")
worksheet.getCells().get("D1").putValue("Amount")
worksheet.getCells().get(1, 0).putValue("Fruit")
worksheet.getCells().get(1, 1).putValue("Apple")
worksheet.getCells().get(1, 2).putValue(2020)
worksheet.getCells().get(1, 3).putValue(100)
worksheet.getCells().get(2, 0).putValue("Fruit")
worksheet.getCells().get(2, 1).putValue("Apple")
worksheet.getCells().get(2, 2).putValue(2021)
worksheet.getCells().get(2, 3).putValue(150)
worksheet.getCells().get(3, 0).putValue("Fruit")
worksheet.getCells().get(3, 1).putValue("Banana")
worksheet.getCells().get(3, 2).putValue(2020)
worksheet.getCells().get(3, 3).putValue(80)
worksheet.getCells().get(4, 0).putValue("Fruit")
worksheet.getCells().get(4, 1).putValue("Banana")
worksheet.getCells().get(4, 2).putValue(2021)
worksheet.getCells().get(4, 3).putValue(90)
worksheet.getCells().get(5, 0).putValue("Vegetable")
worksheet.getCells().get(5, 1).putValue("Carrot")
worksheet.getCells().get(5, 2).putValue(2020)
worksheet.getCells().get(5, 3).putValue(50)
worksheet.getCells().get(6, 0).putValue("Vegetable")
worksheet.getCells().get(6, 1).putValue("Carrot")
worksheet.getCells().get(6, 2).putValue(2021)
worksheet.getCells().get(6, 3).putValue(60)
worksheet.getCells().get(7, 0).putValue("Vegetable")
worksheet.getCells().get(7, 1).putValue("Daikon")
worksheet.getCells().get(7, 2).putValue(2020)
worksheet.getCells().get(7, 3).putValue(40)
worksheet.getCells().get(8, 0).putValue("Vegetable")
worksheet.getCells().get(8, 1).putValue("Daikon")
worksheet.getCells().get(8, 2).putValue(2021)
worksheet.getCells().get(8, 3).putValue(45)
pivotTables = worksheet.getPivotTables()
pivotIndex = pivotTables.add("A1:D9", "F3", "PivotTable1")
pivotTable = pivotTables.get(pivotIndex)
pivotTable.addFieldToArea(PivotFieldType.Row, "Category")
pivotTable.addFieldToArea(PivotFieldType.Row, "Item")
pivotTable.addFieldToArea(PivotFieldType.Column, "Year")
pivotTable.addFieldToArea(PivotFieldType.Data, "Amount")
categoryField = pivotTable.getRowFields().get(0)
categoryField.setSubtotals(PivotFieldSubtotalType.Sum, True)
categoryField.setSubtotals(PivotFieldSubtotalType.Average, True)
pivotTable.calculateData()
workbook.save("output_custom.xlsx")
jpype.shutdownJVM()
Yukarıdaki üç senaryo aynı veri kümesini ve pivot tablo yapısını paylaşır. Aralarındaki tek fark, dış Category satır alanına uygulanan setSubtotals çağrısıdır. İki alan kuralını unutmayın: bir bölgedeki tek bir alanın ara toplam yapacak bir şeyi yoktur, dolayısıyla setSubtotals‘ın görünür bir etki yaratmasını istediğinizde her zaman satır veya sütun bölgesine en az iki alan yerleştirin.
“Aspose.Cells for Python via Java kullanarak bir pivot tablosunun satır ve sütun bölgelerine temel alanların nasıl ekleneceğini ve PivotField.setSubtotals kullanılarak pivot alanı ara toplamlarının nasıl kontrol edileceğini öğrenin.”
No colons, good.
Satır ve sütun alanları, bir pivot tablosunun yapı taşlarıdır. Satır bölgesine yerleştirilen bir alan pivotun solunda dikey olarak görünürken, sütun bölgesine yerleştirilen bir alan üstte yatay olarak görünür. Bu makale, bu bölgelere programatik olarak temel alanların nasıl ekleneceğini ve PivotField.setSubtotals yöntemi kullanılarak alan grupları arasında görüntülenen ara toplamların nasıl kontrol edileceğini gösterir.
PivotTable.addFieldToArea(PivotFieldType fieldType, String fieldName) yöntemi, kaynak verilerden bir temel alanı dört pivot bölgesinden birine taşır. fieldType argümanı aşağıdaki PivotFieldType değerlerinden birini kabul eder.
ROW — solda dikey olarak yerleştirilen alanlarCOLUMN — üstte yatay olarak yerleştirilen alanlarDATA — değerleri toplanan alanlarPAGE — rapor filtreleri olarak kullanılan alanlarAlanlar eklendikten sonra, PivotTable.getRowFields() ve PivotTable.getColumnFields() yöntemleri aracılığıyla bunlara erişebilirsiniz. Her yöntem bir PivotFieldCollection döndürür. RowFields‘in 0 dizinindeki alan en dıştaki satır alanıdır ve sonraki dizinler onun içine yerleştirilmiş alanları temsil eder. Aynı dizin oluşturma kuralı ColumnFields için de geçerlidir.
Alan iç içe yerleştirme sırası önemlidir. Önce Category alanını satır bölgesine, ardından Item alanını eklemek, dış gruplandırması Category ve iç gruplandırması Item olan bir pivot üretir. Sırayı tersine çevirmek hiyerarşiyi de tersine çevirir.
PivotField.setSubtotals(PivotFieldSubtotalType subtotalType, boolean shown) yöntemi, bir pivot alanı için hangi ara toplam satırlarının görüneceğini kontrol eder. Her çağrı, tek bir ara toplam türünü bağımsız olarak değiştirir. shown = true geçmek ara toplamı görüntülerken, shown = false onu gizler. Her çağrı yalnızca bir türü etkilediğinden, yöntemi farklı subtotalType değerleriyle birden çok kez çağırmak özel bir ara toplam alt kümesi oluşturur.
PivotFieldSubtotalType numaralandırması, kullanılabilir ara toplam türlerini tanımlar.
AUTOMATIC — Aspose.Cells varsayılan seçimi seçer (genellikle sayısal alanlar için SUM)NONE — tüm ara toplam satırlarını gizlerSUMCOUNTAVERAGEMAXMINPRODUCTSTD_DEVSTD_DEVPVARVARPsetSubtotals çağrıları bu durumda görünür bir etki yaratmaz. Bu nedenle bu makale, her Category grubu arasındaki ara toplam sınırının görünür olması için her örnekte satır bölgesine iki satır alanı (dış Category, iç Item) yerleştirir.
setSubtotals çağrısını hiç yapmadığınızda, Aspose.Cells sayısal alanlar için AUTOMATIC seçimini uygular. Aşağıdaki örnek, dış Category satır alanı üzerinde setSubtotals(PivotFieldSubtotalType.AUTOMATIC, true) çağırarak bu davranışı açıkça doğrular.## Senaryo 2 — Tüm Ara Toplamların Gizlenmesi (None)
setSubtotals(PivotFieldSubtotalType.NONE, true) çağrısı, pivot’tan tüm ara toplam satırlarını kaldırarak yalnızca alan satırlarını ve alttaki genel toplamı bırakır. Bu, ham gruplandırılmış verileri herhangi bir özet satırı olmadan istediğinizde kullanışlıdır.## Senaryo 3 — Özel Ara Toplam Alt Kümesi (Sum + Average)
Tek bir ara toplam türüyle sınırlı değilsiniz. Her setSubtotals çağrısı bir tür üzerinde bağımsız olarak çalışır, dolayısıyla yöntemi iki kez çağırmak — bir kez SUM ve bir kez AVERAGE ile — her Category grubu için iki ara toplam satırından oluşan özel bir alt küme üretir.## Özet
Yukarıdaki üç senaryo aynı veri kümesini ve pivot tablo yapısını paylaşır. Aralarındaki tek fark, dış Category satır alanına uygulanan setSubtotals çağrısıdır. İki alan kuralını unutmayın: bir bölgedeki tek bir alanın ara toplam yapacak bir şeyi yoktur, dolayısıyla setSubtotals‘ın görünür bir etki yaratmasını istediğinizde her zaman satır veya sütun bölgesine en az iki alan yerleştirin.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.