Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Dalam tutorial ini, anda akan mempelajari tentang teknik pemampatan LuckyTemplates yang berbeza dalam yang membantu mengoptimumkan laporan anda.
Selepas data dimuatkan segmen demi segmen oleh Perkhidmatan Analisis dalam LuckyTemplates Power Pivot dan SSAS , dua peristiwa berlaku. Yang pertama ialah mereka cuba menggunakan kaedah pengekodan yang berbeza untuk memampatkan lajur untuk mengurangkan saiz keseluruhan RAM . Yang kedua ialah mereka cuba membiayai susunan isihan terbaik yang meletakkan nilai berulang bersama-sama. Kaedah ini juga meningkatkan pemampatan dan seterusnya, mengurangkan tekanan pada memori.
Terdapat teknik mampatan berbeza yang digunakan oleh Perkhidmatan Analisis. Tutorial ini merangkumi tiga kaedah, khususnya, iaitu, Pengekodan Nilai, Pengekodan Jangka Panjang dan Pengekodan Kamus. Dalam bahagian terakhir tutorial ini, ia akan merangkumi cara mengisih pesanan kerja dalam Perkhidmatan Analisis.
Isi kandungan
Teknik Mampatan LuckyTemplates #1: Pengekodan Nilai
Yang pertama dipanggil Pengekodan Nilai.
Pengekodan Nilai mencari hubungan matematik antara setiap nilai dalam lajur untuk mengurangkan ingatan. Berikut ialah contoh dalam Microsoft Excel:
Lajur ini memerlukan 16,384 bit untuk menyimpan nilai.
Untuk mengira bit yang diperlukan, mula-mula gunakan fungsi MAX() dalam Excel untuk mendapatkan nilai tertinggi dalam lajur. Dalam kes ini, ia adalah 9144. Kemudian, gunakan fungsi POWER() untuk mengira bit yang diperlukan. Gunakan hujah POWER(2, X) dengan X ialah sebarang nilai positif yang akan mengembalikan jawapan yang lebih besar daripada nilai MAX. X, dalam kes ini, juga mewakili bit yang diperlukan. Jadi untuk contoh ini, nilai X ialah 14 yang menghasilkan 16,384 . Oleh itu, lajur memerlukan 14 bit storan.
Untuk mengurangkan bit yang diperlukan menggunakan Pengekodan Nilai, VertiPaq mencari nilai MIN dalam lajur dan menolaknya daripada setiap nilai. Dalam kes ini, nilai MIN dalam lajur ialah 9003. Jika anda menolak ini daripada lajur, ia akan mengembalikan nilai ini:
Menggunakan fungsi dan hujah yang sama, anda boleh melihat bahawa untuk lajur baharu, nilai MAX ialah 141. Dan menggunakan 8 sebagai nilai X menghasilkan 256 . Oleh itu, lajur baru hanya memerlukan 8 bit.
Anda boleh melihat bagaimana mampat yang kedua dibandingkan dengan lajur pertama.
Setelah data dimampatkan dan anda cuba menanyakan lajur baharu, Enjin Storan atau Vertipaq mengimbas lajur ini. Mereka tidak hanya akan mengembalikan nilai baharu lajur. Sebaliknya, mereka menambah nilai tolak sebelum mengembalikan hasilnya kepada pengguna.
Walau bagaimanapun, Pengekodan Nilai hanya berfungsi pada lajur yang mengandungi integer atau nilai dengan nombor perpuluhan tetap.
Teknik Mampatan LuckyTemplates #2: Pengekodan Panjang Larian
Kaedah pengekodan kedua dipanggil Run Length Encoding.
Run Length Encoding mencipta struktur data yang mengandungi nilai yang berbeza, lajur Mula dan lajur Kira.
Mari kita ambil contoh:
Dalam kes ini, ia mengenal pasti bahawa satu nilai Merah tersedia dalam baris pertama. Ia kemudiannya mendapati bahawa nilai Hitam bermula pada baris kedua dan tersedia untuk empat sel seterusnya. Ia meneruskan ke nilai ketiga, Biru , yang bermula pada baris keenam dan tersedia untuk tiga baris seterusnya. Dan ini berterusan sehingga ia mencapai nilai terakhir dalam lajur.
Oleh itu, bukannya menyimpan keseluruhan lajur, ia mencipta struktur data yang hanya mengandungi maklumat tentang tempat nilai tertentu bermula dan tempat ia berakhir, dan bilangan pendua yang ada.
Untuk lajur dengan struktur yang sama, data boleh dimampatkan lagi dengan menyusun nilai sama ada dalam tertib menaik atau menurun.
Dengan lajur yang diisih dengan betul ini, anda dapat melihat bahawa kaedah Pengekodan Panjang Jalankan kini mengembalikan struktur data dengan kurang satu baris.
Jadi, jika anda berurusan dengan banyak nilai yang berbeza, anda disyorkan untuk mengisih lajur dengan cara yang paling optimum. Ini akan memberi anda struktur data dengan baris yang lebih kecil yang seterusnya menduduki RAM yang lebih rendah.
Pengekodan Panjang Jalankan tidak boleh digunakan pada kunci utama kerana lajur kunci utama hanya mengandungi nilai unik. Jadi daripada menyimpan satu baris untuk setiap nilai, ia akan menyimpan lajur sebagaimana adanya.
Teknik Mampatan LuckyTemplates #3: Pengekodan Kamus
Kaedah pengekodan ketiga dipanggil Pengekodan Kamus.
Pengekodan Kamus mencipta struktur seperti kamus yang mengandungi nilai lajur yang berbeza. Ia juga memberikan indeks kepada nilai unik itu.
Menggunakan contoh sebelumnya, mari kita lihat cara Pengekodan Kamus berfungsi. Dalam kes ini, nilai Merah, Hitam dan Biru diberikan indeks 0, 1 dan 2, masing-masing.
Ia kemudian mencipta struktur data yang serupa dengan Pengekodan Panjang Jalankan. Walau bagaimanapun, bukannya menyimpan nilai sebenar, Pengekodan Kamus menyimpan indeks yang ditetapkan bagi setiap nilai.
Ini mengurangkan lagi RAM yang digunakan kerana nombor mengambil ruang yang lebih sedikit daripada nilai rentetan.
Pengekodan Kamus juga menjadikan jenis data jadual bebas. Iaitu, tidak kira jika anda mempunyai lajur yang boleh disimpan dalam jenis data yang berbeza, ia tidak penting kerana struktur data hanya akan menyimpan nilai indeks.
Walau bagaimanapun, walaupun ia bebas, jenis data masih akan mempunyai kesan pada saiz kamus. Bergantung pada jenis data yang anda pilih untuk menyimpan lajur, saiz kamus (atau struktur data) akan berubah-ubah. Tetapi saiz lajur itu sendiri akan tetap sama.
Jadi bergantung pada jenis data yang akan anda pilih, setelah Pengekodan Kamus digunakan pada lajur, Pengekodan Panjang Jalankan boleh digunakan selepas itu.
Dalam kes ini, Perkhidmatan Analisis akan mencipta dua struktur data. Ia mula-mula akan mencipta kamus dan kemudian menggunakan Pengekodan Panjang Jalankan padanya untuk meningkatkan lagi pemampatan lajur.
Susun Susunan Dalam Perkhidmatan Analisis
Untuk bahagian terakhir tutorial ini, mari kita bincangkan cara Perkhidmatan Analisis memutuskan cara yang paling optimum untuk mengisih data.
Sebagai contoh, mari kita lihat lajur yang mengandungi nilai Merah, Biru, Hitam, Hijau dan Merah Jambu. Nombor 1 hingga 5 juga telah diberikan kepada mereka. Ini bertindak sebagai kamus lajur kami.
Sekarang, isikan keseluruhan lajur dalam Excel dengan nilai ini. Gunakan hujah ini untuk menjana lajur yang mengandungi nilai ini secara rawak.
Seret formula ke baris terakhir. Klik OK jika tetingkap pop timbul Operasi Besar muncul. Inilah rupanya sekarang:
Seterusnya, salin keseluruhan lajur dan tampalkannya sebagai Nilai .
Sekarang jika anda pergi ke pilihan Fail dalam dokumen Excel anda dan klik Maklumat , anda boleh melihat bahawa lajur menggunakan 14.1MB .
Untuk mengurangkan jumlah RAM yang digunakan, anda boleh mengisih lajur dari A hingga Z. Jika anda menyemak semula saiznya, anda dapat melihat bahawa ia telah dikurangkan kepada 12.5 MB .
Pengurangan 1.9 MB mungkin kelihatan tidak banyak. Ini kerana contoh menggunakan satu lajur dalam Excel untuk menunjukkan. Excel hanya terhad kepada 1 juta baris. Walau bagaimanapun, dalam LuckyTemplates, data anda boleh mengandungi berbilion-bilion baris dan lajur. Pengurangan ruang yang digunakan berkembang secara eksponen.
Kesimpulan
Setelah data anda diisih dengan cara yang paling optimum, Perkhidmatan Analisis menggunakan salah satu daripada tiga teknik pemampatan bergantung pada jenis data.
Melakukannya meningkatkan pemampatan data anda yang sangat mengurangkan jumlah memori yang digunakan dalam peranti anda. Ini menjadikan laporan anda lebih optimum menjadikannya lebih mudah untuk dijalankan dan dimuatkan.
Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Anda akan belajar cara menyimpan dan memuatkan objek daripada fail .rds dalam R. Blog ini juga akan membincangkan cara mengimport objek dari R ke LuckyTemplates.
Dalam tutorial bahasa pengekodan DAX ini, pelajari cara menggunakan fungsi GENERATE dan cara menukar tajuk ukuran secara dinamik.
Tutorial ini akan merangkumi cara menggunakan teknik Visual Dinamik Berbilang Thread untuk mencipta cerapan daripada visualisasi data dinamik dalam laporan anda.
Dalam artikel ini, saya akan menjalankan konteks penapis. Konteks penapis ialah salah satu topik utama yang perlu dipelajari oleh mana-mana pengguna LuckyTemplates pada mulanya.
Saya ingin menunjukkan cara perkhidmatan dalam talian LuckyTemplates Apps boleh membantu dalam mengurus laporan dan cerapan berbeza yang dijana daripada pelbagai sumber.
Ketahui cara untuk menyelesaikan perubahan margin keuntungan anda menggunakan teknik seperti mengukur percabangan dan menggabungkan formula DAX dalam LuckyTemplates.
Tutorial ini akan membincangkan tentang idea pewujudan cache data dan cara ia mempengaruhi prestasi DAX dalam memberikan hasil.
Jika anda masih menggunakan Excel sehingga sekarang, maka inilah masa terbaik untuk mula menggunakan LuckyTemplates untuk keperluan pelaporan perniagaan anda.
Apakah LuckyTemplates Gateway? Semua yang Anda Perlu Tahu