1 poin oleh GN⁺ 2023-08-23 | 1 komentar | Bagikan ke WhatsApp
  • Microsoft mulai menyediakan pratinjau publik untuk fitur terintegrasi yang memungkinkan analisis dan visualisasi data berbasis Python di dalam Excel
  • Tanpa instalasi terpisah, pengguna dapat mengakses Python dari ribbon Excel dan menyempurnakan hasilnya bersama rumus, bagan, dan PivotTable yang sudah ada
  • Fungsi PY baru menampilkan data Python di grid spreadsheet, dan melalui kerja sama dengan Anaconda, pandas, statsmodels, Matplotlib, dan lainnya dapat digunakan di Excel
  • Komputasi dijalankan bukan secara lokal melainkan di Microsoft Cloud, lalu hasilnya dikembalikan ke worksheet, dan visualisasi berbasis Matplotlib serta Seaborn juga dapat dibuat
  • Pratinjau publik dimulai dari Windows di Beta Channel untuk Microsoft 365 Insiders, dan setelah pratinjau berakhir, beberapa fitur akan dibatasi tanpa lisensi berbayar

Analisis Python yang masuk ke dalam Excel

  • Microsoft menambahkan fitur integrasi Python ke Excel, sehingga data dapat dimanipulasi dan dianalisis langsung di dalam spreadsheet
  • Pengguna dapat mengakses Python langsung dari ribbon Excel, sehingga bisa melanjutkan pekerjaan analisis tingkat lanjut tanpa meninggalkan lingkungan Excel yang sudah familier
  • Plot yang dibuat dengan Python dan hasil dari library dapat digabungkan dengan rumus, bagan, dan PivotTable di Excel untuk disempurnakan lebih lanjut

Pendekatan bawaan tanpa instalasi terpisah

  • Integrasi Python disediakan sebagai bagian dari konektor bawaan Excel dan Power Query
  • Dapat diakses tanpa memasang perangkat lunak tambahan atau mengatur add-in terpisah
  • Fungsi PY baru menampilkan data Python di dalam grid spreadsheet Excel

Library Anaconda dan visualisasi

  • Microsoft bekerja sama dengan Anaconda, repositori Python untuk enterprise, agar library Python utama dapat digunakan di Excel
  • Library yang tersedia mencakup:
    • pandas
    • statsmodels
    • Matplotlib
  • Pengguna Excel dapat membuat rumus, PivotTable, dan bagan berdasarkan data Python
  • Dengan library bagan seperti Matplotlib dan Seaborn, visualisasi berikut dapat dibuat:
    • heatmap
    • violin plot
    • swarm plot

Komputasi diproses di Microsoft Cloud

  • Kode Python ditulis dan digunakan di dalam spreadsheet Excel, tetapi pemrosesan komputasinya dilakukan di Microsoft Cloud, bukan oleh Excel lokal
  • Hasil eksekusi kemudian dikembalikan ke worksheet Excel

Cakupan ketersediaan dan syarat lisensi

  • Pratinjau publik Python in Excel tersedia di Beta Channel untuk Microsoft 365 Insiders
  • Ketersediaan awal dibatasi untuk Windows
  • Microsoft berencana memperluasnya ke platform lain di kemudian hari
  • Selama masa pratinjau, fitur ini termasuk dalam langganan Microsoft 365
  • Setelah masa pratinjau berakhir, beberapa fitur akan dibatasi jika tidak memiliki lisensi berbayar

1 komentar

 
GN⁺ 2023-08-23
Pendapat Hacker News
  • Sebagai orang yang dulu bekerja sebagai pengembang Excel dan pernah gagal mencoba memasukkan Python ke Excel, kabar hari ini terasa seperti kejutan yang menyenangkan
    Sekitar 7 tahun lalu saya sempat punya kesempatan meninggalkan tim Excel, tetapi atasan dari atasan saya saat itu tahu bahwa saya ingin memasukkan Python ke Excel, lalu mengatakan bahwa jika saya tetap tinggal, ia akan menugaskan pekerjaan itu kepada saya. Pekerjaan yang saya kira akan berlangsung 6 bulan berubah menjadi proyek sekitar 3 tahun, dan pada akhirnya dirilis dalam bentuk memasukkan fungsi kustom JavaScript ke Excel, sementara sisi Python makin memudar
    Python juga dijalankan “di cloud” berbasis AzureML v1, tetapi ada diskusi bolak-balik soal apakah akan dijalankan secara lokal. Ada reorganisasi, peluncuran ulang, perekrutan ulang di tim mitra AzureML, juga PM yang keluar, dan ketika tim mitra lain menyadari bahwa kode kami bisa dipakai untuk menjalankan JavaScript di proses eksternal, kami akhirnya menghabiskan lebih banyak waktu untuk merilis fitur itu ketimbang Python
    Pekerjaan intinya adalah mengubah mesin kalkulasi Excel agar fungsi bisa melakukan perhitungan asinkron, sehingga pengguna bisa terus mengerjakan bagian lain dari spreadsheet sementara endpoint jarak jauh menghitung, entah itu JavaScript, Python, atau apa pun. Dulu, spreadsheet terkunci saat perhitungan berlangsung, dan itu tidak bagus untuk perhitungan yang lama serta tidak jelas kapan selesai. Saya penasaran apakah sebagian dari yang kami buat masuk ke fitur kali ini
    “Recalc or die”

    • Berkat fungsi JavaScript asinkron, kami bisa merilis fungsi kustom yang stabil dengan xlwings dan Python
      Masalah Office.js adalah pengguna Excel rata-rata terlalu sulit untuk memulai karena tumpukan dependensi npm, dan bahkan pengembang profesional pun cukup kerepotan. Saya puas karena kami membuat pengguna tidak perlu memakai Node.js: https://docs.xlwings.org/en/latest/pro/server/officejs_custo...
    • Beberapa tahun lalu kami sudah membuat “Python di dalam Excel” yang berfungsi, dan juga menjalankan SQL serta Matlab/R dari jarak jauh
      Sekarang proyeknya sudah ditinggalkan: https://alphawolfxl.com/
      Beberapa orang yang saya minta melakukan beta test mengatakan “perusahaan tidak akan mau membayar”, jadi saya merasa telah membuang-buang waktu dan menghentikannya; melihat ini sekarang rasanya campur aduk
    • Saya penasaran mengapa Microsoft tidak membuat contoh yang layak untuk teknologi baru ini. Sedikit contoh yang disediakan hanya untuk programmer
      Secara umum, kurang ada kode yang benar-benar berjalan untuk melihat bagaimana JavaScript bekerja di Excel, dan saat ini rasanya nyaris seperti level “cara menggambar burung hantu”
    • Kami memakai fungsi kustom JavaScript untuk memanggil API analitik internal kami, dan pengalaman mengerjakannya cukup menyenangkan
  • Saya berharap ini juga mendukung eksekusi Python lokal, bukan hanya melalui Microsoft Cloud, tetapi tetap saja fitur ini saja tampaknya bisa sangat memodernisasi Excel
    Ini juga bisa menghilangkan kebutuhan akan situs web untuk menampilkan data semacam ini. Di pekerjaan lama, saya pernah membuat situs web analitik yang hanya dipakai beberapa orang internal; kalau fitur seperti ini sudah ada waktu itu, sepertinya ini sudah cukup untuk menggantikannya

    • Setiap kali saya membahas ini, selalu ada penolakan. Pengguna hanya ingin menganalisis data secara bebas dengan Excel, sementara IT tempat saya bekerja ingin membuat web app untuk menggantikannya. Pada akhirnya pengguna tidak puas, karena yang mereka inginkan sejak awal adalah Excel
      Saya terus menjelaskan bahwa cukup buat data mart dengan SQL Server dan isi dengan data yang dibutuhkan untuk analitik menggunakan alat ETL. Tidak perlu memberi akses ke data mentah. Namun semua orang tetap menatap saya aneh, lalu malah ingin menjalankan proyek adopsi Tableau bernilai jutaan dolar. Pengguna tidak menginginkan itu, benar-benar absurd
    • Saya bekerja di tim Excel. Jika Anda bisa merangkum mengapa hal itu penting dan mengirimkannya ke bgruenbaum@microsoft.com, saya akan meneruskannya ke PM
      Atau bisa juga dikirim lewat UI feedback di Excel web/desktop. Para PM membaca semua feedback itu
    • Ada beberapa alasan penting mengapa ini dijalankan di kontainer terisolasi hypervisor Azure tanpa akses internet
      Kami bisa menjamin pengalaman yang konsisten untuk semua pengguna. Membayangkan setiap orang harus memelihara distribusi Python lokal masing-masing dan menjamin kompatibilitasnya dengan Excel saat versi makin bercabang dari waktu ke waktu itu mengerikan
      Saat workbook Excel dibagikan kepada pengguna lain, perhitungannya bisa langsung berjalan. Jika bergantung pada instalasi Python lokal yang berbeda-beda, itu tidak akan terjadi dan pengguna akan sangat frustrasi
      Keamanan juga besar. Bayangkan membuka file Excel yang bisa menjalankan kode Python dengan hak akses pengguna lokal
      Saya juga sepenuhnya setuju dengan poin kedua. Membuat aplikasi internal dengan Python yang terintegrasi dengan infrastruktur IT yang ada itu, paling tidak, tetap merepotkan. Excel hampir di mana-mana sudah menjadi bagian dari infrastruktur IT, dan merupakan kanvas reaktif yang dapat diprogram
      Pengungkapan: saya bekerja di tim desain fitur ini
    • Justru karena dijalankan di Microsoft Cloud, fitur ini bisa lebih berguna daripada macro di perusahaan kami
      Di sini, macro dipandang sebagai jalur untuk menjalankan malware di mesin klien, dan manfaatnya dianggap tidak cukup besar untuk menanggung risiko itu
    • Membatasinya ke cloud sampai batas tertentu masuk akal. Jika Python dijadikan bagian inti dari format file Excel, portabilitas akan menurun dan ke depannya bisa muncul segala macam masalah kompatibilitas
  • Di sini jelas terlihat tanda bahaya. Kekuatan mendasar Excel berasal dari fakta bahwa workbook bisa berdiri sendiri, tetapi sekarang prosesnya akan selamanya terikat ke cloud
    Saat harus membuka workbook milik rekan yang sudah meninggal tiga tahun kemudian, itu akan bergantung pada apakah vendor masih terus mendukung fitur integrasi ini
    Akan mengerikan kalau langkah pertama untuk pekerjaan apa pun adalah “mencari cara membuat perangkat lunaknya berjalan lagi”. Selama beberapa dekade terakhir, saya sudah beberapa kali mengalaminya karena berbagai add-in di Excel, Outlook, dan Word, dan add-in itu bahkan tidak memproses datanya secara jarak jauh

    • “Kamu tidak akan memiliki apa pun, tetapi kamu akan bahagia” sekarang sampai juga ke spreadsheet rupanya. Bahkan hal-hal yang dibuat sambil bekerja upahan di depan meja pun jadi tidak bisa dimiliki
    • Jujur, yang ini terlihat lebih mudah dikelola. Karena memakai distribusi Anaconda, jika setiap workbook diikat ke distribusi tertentu dan ada opsi update/rollback, ini akan jauh lebih mudah daripada mengelola instalasi lokal
    • Bukan hanya ke cloud, tetapi juga ke langganan. Jika membatalkan langganan, tidak memiliki langganan yang dalam presentasi disebut mungkin menjadi modul berbayar, atau memakai Excel dari pemasok sehingga tidak punya langganan, memakai sheet Excel itu saja sudah akan bermasalah
    • Selama sekitar tujuh tahun terakhir saya hampir tidak pernah memakai spreadsheet yang bukan cloud. Namun untuk pekerjaan yang penting dan berumur panjang, saya tidak akan memakai Excel. Biasanya hanya untuk brainstorming atau untuk dimasukkan sebagai screenshot ke materi presentasi
    • Memakai cloud atau tidak, masalah ini sebenarnya sudah ada. Worksheet Excel sudah bisa memiliki tautan eksternal ke web atau file lain, dan kalau resource web atau file itu tidak ada, selesai sudah. File lama mungkin hanya bisa dibuka dengan perangkat lunak yang tidak lagi berjalan di mesin modern
      Karena itu, penting untuk sesekali benar-benar memulihkan backup, atau dalam kasus seperti ini, memvalidasi file penting
  • Saya sempat antusias dengan “Python di Excel”, lalu langsung mendingin saat melihat frasa “berjalan di cloud”. Ini tampaknya tidak punya alasan selain mengikat pengguna ke layanan cloud. Rasanya terlalu mirip dengan dalih melindungi saya dari tinta printer yang tidak aman
    Biasanya saya menyukai produk MS Office dan cenderung berprasangka baik. Kalau ada alasan bagus yang masuk akal, selain lock-in, untuk mewajibkan Python berjalan di cloud, saya ingin tahu

    • Ini tanda bahaya. M$ sedang mendorong orang ke cloud mereka. Cara OneDrive membajak sistem file lokal adalah contoh bagus yang sudah dialami banyak orang
      Menurut saya, saat yang tepat untuk keluar dari M$ sudah lewat sekitar lima tahun lalu. Dari Windows sampai Office, semua produknya sudah berisi fitur anti-konsumen
    • Tidak meminta pelanggan mengelola instalasi Python lokal bisa menjadi salah satu alasan
      Tentu, saya juga paham bahwa pengguna mahir Excel+Python kemungkinan besar sudah terbiasa membawa dan memelihara runtime Python mereka sendiri
    • Kemungkinan karena sebagian besar pengguna Excel belum pernah memasang dan menjalankan Python. Bahkan bagi orang yang mengenal Python pun itu cukup merepotkan
      Ada juga orang yang memakai Excel di perangkat iOS dan Android. Dengan cara ini, mereka juga bisa menggunakan dan membaca Python di dalam spreadsheet
    • Ada juga Grist. Memang bukan kloning Excel, tetapi sebagai spreadsheet/database hibrida, ia bisa melakukan sebagian hal serupa, dan yang terpenting, bisa memakai Python dalam formula serta punya opsi self-hosting jika ingin menjalankannya secara lokal
  • Pada 2005, saya bersama teman-teman mendirikan perusahaan bernama Resolver Systems dan membuat Resolver One, spreadsheet yang bisa menjalankan Python
    Sayangnya produk itu tidak berhasil di pasar, lalu kami mengubah arah dan membuat PythonAnywhere, lingkungan coding dan hosting online. Yang ini cukup sukses dan tahun lalu diakuisisi Anaconda. Jadi sekarang lingkarannya seperti tertutup
    Untuk memperjelas, tim yang membuat fitur ini di dalam Anaconda sepenuhnya terpisah dari tim PythonAnywhere. Kalau orangnya sama, itu akan menjadi cerita bergaya Hollywood yang pas sekali

    • Itu produk yang bagus. Saya ingat pitch-nya, dan beberapa kali bertemu di pertemuan Python finance di London. Saya juga ingat “Enthought Python Distribution”
      Namun masalahnya, Resolver berbasis IronPython, sehingga cukup banyak library yang tidak berjalan dengan baik
    • Saya membuat aplikasi pertama saya di PythonAnywhere. Ada beberapa yang sudah berjalan di sana hampir 10 tahun
      Saya sangat suka bisa melakukan perubahan kecil langsung dari webapp PythonAnywhere, dan ketika mulai memakai GCP/AWS, saya sering merindukan fitur semacam itu
    • PythonAnywhere luar biasa. Seperti orang lain, itu juga tempat pertama saya mulai terjun ke pemrograman web
    • Begitu mendengar kabar ini, Resolver Systems langsung terlintas di benak saya
  • Saat melihat kalimat “komputasi Python dijalankan di Microsoft Cloud”, rekan saya bercanda, “Bahkan Microsoft pun sepertinya tidak bisa mengelola instalasi Python lokal di Windows…”
    Namun menarik juga membayangkan Microsoft benar-benar akhirnya memecahkan masalah pengaturan lingkungan Python lokal, dan Excel menjadi package manager Python standar di seluruh sistem operasi
    $ excelpip install fastapi==9.11.23
    mencari fastapi version 11.09.2023…

    • Sejak mencoba apt Debian 20 tahun lalu, saya telah menunggu Microsoft menyelesaikan manajemen paket di Windows. Ini bukan sindiran; melihat kompleksitas produk Microsoft dan obsesinya pada kompatibilitas mundur, justru mereka tampak seperti pihak yang bisa memajukan manajemen perangkat lunak
      Saya kira mereka akan menyelami ruang masalah ini secara mendalam dan menciptakan ulang package manager yang melampaui apa yang muncul dari dunia open source
      Sebagai gantinya, sekarang kita punya Windows Update, Windows Features, Microsoft Store, Software Center, dan winget. winget adalah package manager untuk Windows buatan Microsoft, yaitu alat yang harus dipasang lewat package manager Windows buatan Microsoft lainnya
    • Masalah seperti ini jadi terbayang. Apakah Microsoft harus membekukan kumpulan paket LTSC? Bagaimana $GOV_AGENCY yang memakai Excel versi satu generasi di belakang akan berkolaborasi dengan dunia?
  • LibreOffice seharusnya sudah lama membaca situasi. Pada prinsipnya scripting Python memang mungkin, tetapi terlalu merepotkan dan berantakan, dan sepertinya tidak ada roadmap perbaikan
    Peringatan yang sama juga berlaku untuk desktop Linux dan aplikasi-aplikasinya secara umum. Semakin banyak platform proprietary akan menambahkan perluasan fitur “AI” tingkat lanjut ke aplikasi lama berbasis cloud, sering kali lewat API Python
    Sayang sekali berbagai arus di dunia open source terlalu tersilo. Potensi yang lebih besar daripada sekadar jumlah bagian-bagiannya sedang terbuang

    • Dalam banyak kasus, yang membuat orang tetap terikat pada Excel dan produk proprietary lain bukanlah fitur canggih, melainkan hal-hal yang tampak sepele
      Keluhan terbesar saya terhadap spreadsheet LibreOffice dan Apple Numbers adalah cara menangani copy/paste area pilihan yang tidak berurutan
      Misalnya, dari data 5 baris 3 kolom, jika memilih dan menyalin baris 1 2 3, 7 8 9, a b c, lalu menempelkannya di bawah d e f, Excel hanya menyambungkan baris yang dipilih. LibreOffice dan Numbers mempertahankan juga baris kosong di antaranya
      Saya tidak menemukan pengaturan untuk mengubah perilaku ini. Excel mungkin juga menyebalkan bagi orang yang justru ingin mempertahankan jarak, tetapi saya hampir tidak pernah menginginkan itu, jadi LibreOffice dan Numbers terasa tidak nyaman
    • LibreOffice sudah menyertakan scripting Python hampir sejak awal
      Alasan orang tidak terlalu memedulikannya adalah karena use case paling populer untuk suite perkantoran adalah interoperabilitas dengan format file Microsoft
    • ScriptForge layak dicoba: https://help.libreoffice.org/latest/en-US/text/sbasic/shared...
      Untuk menjalankan script di dalam LibreOffice, APSO script organiser direkomendasikan: https://extensions.libreoffice.org/en/extensions/show/apso-a...
    • Justru terlihat sebaliknya. Python terlalu mudah untuk scripting, jadi menurut saya Excel sedang memaku petinya sendiri
      Ketika kelompok pengguna lanjut usia yang belum pernah memakai bahasa pemrograman menua dan pensiun, orang yang belajar menggabungkan Python dengan Excel pada akhirnya akan lebih menyukai Python. Karena lebih fleksibel dan bisa diperluas
      Selain untuk papan hitung dasar, tidak ada alasan memakai Excel. Kalau seseorang meminta spreadsheet, saya mengotomatiskan pembuatannya dengan Python agar tidak perlu lagi menanganinya secara langsung
    • LibreOffice punya banyak masalah lain yang harus diselesaikan lebih dulu. Terlalu lambat
  • Mengecewakan
    “Python di Excel saat ini tersedia bagi pengguna yang menjalankan Beta Channel di Windows. Fitur ini pertama kali diluncurkan ke Excel untuk Windows mulai build 16.0.16818.2000, lalu akan tersedia di platform lain.” [1]
    “Python di Excel dapat digunakan di Excel untuk Windows. Fitur ini tidak tersedia di Excel untuk Mac, Excel untuk web, Excel untuk iPad, Excel untuk iPhone, maupun Excel untuk Android. Di platform yang tidak didukung, workbook yang berisi Python dapat dilihat, tetapi jika sel Python dihitung ulang, akan muncul error.” [2]
    [1] https://techcommunity.microsoft.com/t5/excel-blog/announcing...
    [2] https://support.microsoft.com/en-us/office/introduction-to-p...

  • “Perhitungan Python berjalan di Microsoft Cloud”? Tidak, terima kasih

    • Bagian itu juga menarik perhatian saya. Saya penasaran kenapa mereka memilih model seperti ini
    • Saya sangat menginginkan integrasi Python yang bagus di suite spreadsheet, tetapi yang ini bahkan tidak terpikir untuk saya coba
  • Tunggu dulu. LibreOffice sudah punya Python sejak beberapa tahun lalu, tetapi tidak ada yang peduli, dan malah mengeluh bahwa untuk “pekerjaan sungguhan” dibutuhkan VBA yang 100% kompatibel. Orang-orang itu sekarang di mana?

    • Ada di sini. Masalahnya bukan hanya VBA yang 100% kompatibel, tetapi juga harus mempelajari API yang sepenuhnya baru untuk membuat spreadsheet berbasis VBA yang tidak akan berjalan di Excel
      Jika VBA LibreOffice kompatibel dengan Office VBA, tidak akan ada alasan untuk terus menyimpan sistem Windows usang di suatu tempat
      Alasan kami melakukan ini adalah untuk menghasilkan uang, dan tidak ada orang yang ingin membeli spreadsheet Excel yang tidak berjalan di Excel
    • Bukannya kesal karena Excel bisa melakukan lebih banyak hal, tetapi LibreOffice masih bisa terasa tidak nyaman karena tidak punya fitur yang sudah terbiasa dipakai atau fitur yang terpaksa harus digunakan
    • Jika ada salah satu pelanggan saya yang memakai LibreOffice, saya akan dengan senang hati memakainya. Tetapi tidak ada yang memakainya
      Saya bekerja dengan LibreOffice Calc di Linux, dan karena Excel sama sekali tidak mendukung Linux, saya berharap ada kompatibilitas yang cukup baik sehingga bisa dikirim ke pelanggan tanpa masalah, tetapi saat ini masih jauh dari itu
    • Jika fiturnya buruk, orang tidak akan memakainya
      Jika orang tidak tahu keberadaannya, mereka tidak akan memakainya
      Jika orang sudah terbiasa dengan sesuatu yang lain, mereka akan meminta yang itu
    • Masalah LibreOffice adalah dukungan Python-nya hanya ada di atas kertas