Terapkan Rumus Lembar Kerja Diagram dalam Presentasi Menggunakan Java

Ikhtisar

Lembar kerja diagram adalah sumber data di balik diagram dalam sebuah presentasi. Ia menyimpan nama kategori dan seri bersama dengan nilai numerik yang ditampilkan oleh diagram. Di Aspose.Slides, lembar kerja ini tersedia melalui buku kerja data diagram, yang memungkinkan Anda bekerja dengan data diagram secara programatik.

Artikel ini menjelaskan cara menggunakan rumus lembar kerja dalam data diagram sehingga nilai sel dapat dihitung dan diperbarui secara otomatis alih‑alih dimasukkan secara manual. Ia menunjukkan cara menetapkan rumus, menggunakan referensi gaya A1 dan R1C1, menghitung ulang rumus buku kerja, serta bekerja dengan konstanta, operator, referensi sel, dan fungsi bawaan yang didukung untuk lembar kerja diagram dalam presentasi.

Tentang Rumus Spreadsheet Diagram dalam Presentasi

Spreadsheet diagram (atau lembar kerja diagram) dalam presentasi adalah sumber data diagram. Spreadsheet diagram berisi data, yang direpresentasikan pada diagram secara grafik. Saat Anda membuat diagram di PowerPoint, lembar kerja yang terkait dengan diagram ini juga dibuat secara otomatis. Lembar kerja diagram dibuat untuk semua jenis diagram: diagram garis, diagram batang, diagram sunburst, diagram lingkaran, dll. Untuk melihat spreadsheet diagram di PowerPoint, Anda harus mengklik ganda pada diagram:

todo:image_alt_text

Spreadsheet diagram berisi nama elemen diagram (Nama Kategori: Category1, Nama Seri) dan tabel dengan data numerik yang sesuai dengan kategori dan seri tersebut. Secara default, ketika Anda membuat diagram baru – data spreadsheet diagram diatur dengan data bawaan. Kemudian Anda dapat mengubah data spreadsheet secara manual di lembar kerja.

Biasanya, diagram mewakili data yang rumit (mis. analis keuangan, analis ilmiah), yang memiliki sel yang dihitung dari nilai di sel lain atau dari data dinamis lainnya. Menghitung nilai sel secara manual dan menuliskannya secara tetap ke dalam sel membuatnya sulit untuk diubah di masa mendatang. Jika Anda mengubah nilai suatu sel, semua sel yang bergantung padanya juga harus diperbarui. Lebih lagi, data tabel dapat bergantung pada data dari tabel lain, menciptakan skema data presentasi yang kompleks dengan kebutuhan pembaruan yang mudah dan fleksibel.

Rumus spreadsheet diagram dalam presentasi adalah ekspresi untuk secara otomatis menghitung dan memperbarui data spreadsheet diagram. Rumus spreadsheet menentukan logika perhitungan data untuk sel tertentu atau sekumpulan sel. Rumus spreadsheet adalah rumus matematika atau logika, yang menggunakan: referensi sel, fungsi matematika, operator logika, operator aritmetika, fungsi konversi, konstanta string, dll. Definisi rumus dituliskan ke dalam sel, dan sel tersebut tidak berisi nilai sederhana. Rumus spreadsheet menghitung nilai dan mengembalikannya, kemudian nilai ini diberikan ke sel. Rumus spreadsheet diagram dalam presentasi pada dasarnya sama dengan rumus Excel, dan mendukung fungsi, operator, serta konstanta bawaan yang sama untuk implementasinya.

Di Aspose.Slides spreadsheet diagram direpresentasikan dengan Chart.getChartData.getChartDataWorkbook method dari tipe IChartDataWorkbook. Rumus spreadsheet dapat ditetapkan dan diubah dengan IChartDataCell.setFormula method. Fungsi berikut didukung untuk rumus di Aspose.Slides:

  • Konstanta logika
  • Konstanta numerik
  • Konstanta string
  • Konstanta error
  • Operator aritmetika
  • Operator perbandingan
  • Referensi sel gaya A1
  • Referensi sel gaya R1C1
  • Fungsi bawaan

Biasanya, spreadsheet menyimpan nilai rumus yang terakhir dihitung. Jika setelah pemuatan presentasi, data diagram tidak diubah – IChartDataCell.getValue method mengembalikan nilai‑nilai tersebut saat dibaca. Namun, jika data spreadsheet telah diubah, saat membaca properti ChartDataCell.Value akan dilemparkan CellUnsupportedDataException untuk rumus yang tidak didukung. Hal ini karena ketika rumus berhasil diparsing, ketergantungan sel ditentukan dan keakuratan nilai terakhir ditetapkan. Tetapi, jika rumus tidak dapat diparsing, keakuratan nilai sel tidak dapat dijamin.

Menambahkan Rumus Spreadsheet Diagram ke Presentasi

Pertama, tambahkan diagram ke slide pertama dari presentasi baru dengan IShapeCollection.getShapes.addChart. Lembar kerja diagram dibuat secara otomatis dan dapat diakses dengan Chart.getChartData.getChartDataWorkbook method:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 150, 150, 500, 300);

    IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();

    // ...
} finally {
    if (pres != null) pres.dispose();
}

Mari menulis beberapa nilai ke sel dengan IChartDataCell.setValue properti bertipe Object, yang berarti Anda dapat menetapkan nilai apa pun ke properti tersebut:

workbook.getCell(0, "F2").setValue(-2.5);

workbook.getCell(0, "G3").setValue(6.3);

workbook.getCell(0, "H4").setValue(3);

Sekarang untuk menulis rumus ke sel, Anda dapat menggunakan method IChartDataCell.setFormula:

Catatan: IChartDataCell.setFormula method digunakan untuk menetapkan referensi sel gaya A1.

Untuk menetapkan referensi sel R1C1Formula , Anda dapat menggunakan method IChartDataCell.setR1C1Formula:

Kemudian jika Anda mencoba membaca nilai dari sel B2 dan C2, nilai tersebut akan dihitung:

Object value1 = cell1.getValue(); // 7.8

Object value2 = cell2.getValue(); // 2.1

Konstanta Logika

Anda dapat menggunakan konstanta logika seperti FALSE dan TRUE dalam rumus sel:

workbook.getCell(0, "A2").setValue(false);
IChartDataCell cell = workbook.getCell(0, "B2");
cell.setFormula("A2 = TRUE");
Object value = cell.getValue(); // nilai berisi boolean "false"

Konstanta Numerik

Angka dapat digunakan dalam notasi umum atau ilmiah untuk membuat rumus spreadsheet diagram:

workbook.getCell(0, "A2").setFormula("1 + 0.5");
workbook.getCell(0, "B2").setFormula(".3 * 1E-2");

Konstanta String

Konstanta string (atau literal) adalah nilai spesifik yang digunakan apa adanya dan tidak berubah. Konstanta string dapat berupa: tanggal, teks, angka, dll.:

workbook.getCell(0, "A2").setFormula("\"abc\"");
workbook.getCell(0, "B2").setFormula("\"2/3/2020 12:00\"");

Konstanta Error

Kadang‑kadang tidak memungkinkan menghitung hasil menggunakan rumus. Dalam kasus tersebut, kode error ditampilkan di sel alih‑alih nilainya. Setiap tipe error memiliki kode tertentu:

  • #DIV/0! - rumus mencoba membagi dengan nol.
  • #GETTING_DATA - dapat muncul pada sel, sementara nilainya masih dihitung.
  • #N/A - informasi hilang atau tidak tersedia. Beberapa penyebabnya dapat berupa: sel yang digunakan dalam rumus kosong, karakter spasi ekstra, salah eja, dll.
  • #NAME? - sel tertentu atau objek rumus lain tidak dapat ditemukan dengan nama tersebut.
  • #NULL! - dapat muncul ketika ada kesalahan dalam rumus, seperti: (,) atau karakter spasi digunakan alih‑alih titik dua (:).
  • #NUM! - nilai numerik dalam rumus mungkin tidak valid, terlalu panjang atau terlalu kecil, dll.
  • #REF! - referensi sel tidak valid.
  • #VALUE! - tipe nilai tak terduga. Misalnya, nilai string ditempatkan pada sel numerik.
IChartDataCell cell = workbook.getCell(0, "A2");
cell.setFormula("2 / 0");
Object value = cell.getValue(); // nilai mengandung string "#DIV/0!"

Operator Aritmetika

Anda dapat menggunakan semua operator aritmetika dalam rumus lembar kerja diagram:

Operator Arti Contoh
+ (tanda plus) Penjumlahan atau plus unary 2 + 3
- (tanda minus) Pengurangan atau negasi 2 - 3
-3
* (asterisk) Perkalian 2 * 3
/ (garis miring) Pembagian 2 / 3
% (tanda persen) Persen 30%
^ (caret) Eksponensial 2 ^ 3

Catatan: Untuk mengubah urutan evaluasi, letakkan bagian rumus yang ingin dihitung terlebih dahulu dalam tanda kurung.

Operator Perbandingan

Anda dapat membandingkan nilai sel dengan operator perbandingan. Ketika dua nilai dibandingkan menggunakan operator ini, hasilnya berupa nilai logika TRUE atau FALSE:

Operator Arti Contoh
= (tanda sama dengan) Sama dengan A2 = 3
<> (tanda tidak sama dengan) Tidak sama dengan A2 <> 3
> (tanda lebih besar) Lebih besar dari A2 > 3
>= (tanda lebih besar atau sama dengan) Lebih besar atau sama dengan A2 >= 3
< (tanda lebih kecil) Lebih kecil dari A2 < 3
<= (tanda lebih kecil atau sama dengan) Lebih kecil atau sama dengan A2 <= 3

Referensi Sel Gaya A1

Referensi sel gaya A1 digunakan untuk lembar kerja, di mana kolom memiliki identifier huruf (mis. “A") dan baris memiliki identifier numerik (mis. “1"). Referensi sel gaya A1 dapat digunakan dengan cara berikut:

Referensi sel Contoh
Absolute Relative Mixed
Sel $A$2 A2

A$2

$A2

Baris $2:$2 2:2 -
Kolom $A:$A A:A -
Rentang $A$2:$C$4 A2:C4

$A$2:C4

A$2:$C4

Berikut contoh cara menggunakan referensi sel gaya A1 dalam rumus:

workbook.getCell(0, "A2").setFormula("C3 + SUM(F2:H5)");

Referensi Sel Gaya R1C1

Referensi sel gaya R1C1 digunakan untuk lembar kerja, di mana baik baris maupun kolom memiliki identifier numerik. Referensi sel gaya R1C1 dapat digunakan dengan cara berikut:

Referensi sel Contoh
Absolute Relative Mixed
Sel R2C3 R[2]C[3] R2C[3]
R[2]C3
Baris R2 R[2] -
Kolom C3 C[3] -
Rentang R2C3:R5C7 R[2]C[3]:R[5]C[7] R2C3:R[5]C[7]
R[2]C3:R5C[7]

Berikut contoh cara menggunakan referensi sel gaya A1 dalam rumus:

workbook.getCell(0, "A2").setR1C1Formula("R2C4 + SUM(R5C6:R7C9)");

Fungsi Bawaan

Ada fungsi bawaan yang dapat digunakan dalam rumus untuk menyederhanakan implementasinya. Fungsi‑fungsi ini mencakup operasi yang paling sering dipakai, seperti:

  • ABS
  • AVERAGE
  • CEILING
  • CHOOSE
  • CONCAT
  • CONCATENATE
  • DATE (sistem tanggal 1900)
  • DAYS
  • FIND
  • FINDB
  • IF
  • INDEX (bentuk referensi)
  • LOOKUP (bentuk vektor)
  • MATCH (bentuk vektor)
  • MAX
  • SUM
  • VLOOKUP

FAQ

Apakah file Excel eksternal didukung sebagai sumber data untuk diagram dengan rumus?

Ya. Aspose.Slides mendukung buku kerja eksternal sebagai sumber data diagram, yang memungkinkan Anda menggunakan rumus dari XLSX di luar presentasi.

Apakah rumus diagram dapat merujuk lembar dalam buku kerja yang sama berdasarkan nama lembar?

Ya. Rumus mengikuti model referensi Excel standar, sehingga Anda dapat merujuk lembar lain dalam buku kerja yang sama atau buku kerja eksternal. Untuk referensi eksternal, sertakan jalur dan nama buku kerja menggunakan sintaks Excel.