Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Apa Itu Diri Dalam Python: Contoh Dunia Sebenar
Apabila anda mengoptimumkan model data anda dan DAX anda untuk LuckyTemplates, anda perlu mengingati bahawa terdapat dua enjin yang berjalan di belakang tabir — enjin formula dan enjin storan .
Kedua-dua enjin ini bekerjasama untuk mengembalikan hasil yang diperlukan kepada pengguna. Mereka menyediakan keputusan yang ditetapkan dalam bentuk jadual atau nilai skala.
Isi kandungan
Peranan Enjin Formula
Dalam artikel ini, kita akan memberi tumpuan kepada enjin formula.
Enjin formula ialah enjin peringkat atas yang menguruskan keseluruhan seni bina pertanyaan.
Apa sahaja yang anda lakukan semasa melaksanakan pertanyaan atau semasa membuat lajur yang dikira atau jadual yang dikira, enjin formula bermula.
Enjin formula memahami pertanyaan yang diterima bukan sahaja dalam DAX, tetapi juga dalam MDX. Contohnya, apabila anda menggunakan Excel, anda mencipta model pangsi berdasarkan jadual pangsi dan jadual pangsi sebenarnya menggunakan bahasa MDX.
Di sinilah enjin formula bermula. Kerana ia memahami kedua-dua DAX dan MDX, anda boleh menggunakan model LuckyTemplates yang lain. Pertanyaan yang dihantar daripada model data ini akan menggunakan DAX, manakala pertanyaan yang datang daripada model pangsi akan menggunakan MDX.
Bagaimana Enjin Formula Berfungsi
Memahami pertanyaan yang berasal sama ada daripada sumber MDX atau sumber DAX hanyalah satu faktor dalam prestasi enjin formula. Ia juga melalui langkah lain untuk membantu anda menyelesaikan pertanyaan anda.
Pertama, ia perlu menjana pelan pertanyaan yang difahami oleh enjin storan . Sebagai enjin peringkat bawah, enjin storan sebenarnya tidak mengetahui sama ada jadual pangsi dalam Excel atau visual dalam LuckyTemplates melaksanakan pertanyaan.
Dalam mencipta pelan pertanyaan, enjin formula membina pelan pertanyaan logik dahulu, kemudian ia mencipta pelan pertanyaan fizikal. Kedua-dua pelan pertanyaan logik dan fizikal harus kelihatan seperti satu sama lain.
Selepas melengkapkan pelan pertanyaan fizikal, pengguna atau alat klien mendapat set hasil. Dari situ, alat klien menentukan cara ia akan menggunakan keputusan atau set data untuk memaparkan hasil akhir kepada pengguna.
Had Utama Enjin Formula
Enjin formula memainkan peranan yang besar apabila anda mengoptimumkan DAX untuk LuckyTemplates menggunakan DAX Studio. Walau bagaimanapun, ia juga datang dengan beberapa batasan.
Pertama, enjin formula sentiasa menggunakan teras tunggal untuk mengurus keseluruhan operasi anda tanpa mengira bilangan teras CPU yang tersedia dalam sistem anda .
Apabila saya membuka Pengurus Tugas saya, anda akan melihat bahawa CPU saya mempunyai enam teras.
Walaupun fakta ini, enjin formula masih akan memilih salah satu daripada enam teras tersebut untuk digunakan, sementara ia membiarkan enjin storan menggunakan selebihnya.
Kedua, enjin formula tidak mempunyai akses langsung ke pangkalan data anda . Disebabkan pengehadan ini, anda perlu menyimpan data sama ada di dalam memori dalaman, atau anda boleh menyimpan dalam pangkalan data dan mencipta DirectQuery di atas pangkalan data tersebut.
Ia juga bergantung pada enjin storan untuk mendapatkan data dalam bentuk cache data. Enjin formula kemudian melelang ke atas cache data itu untuk meneruskan sebelum ia boleh memberikan hasil kepada pengguna akhir.
Bagaimana Enjin Formula Membantu Mengoptimumkan DAX Untuk LuckyTemplates
Kadangkala, apabila anda cuba mengoptimumkan model data anda atau DAX anda untuk LuckyTemplates, anda akan melihat enjin storan menjadi perlahan semasa ia melaksanakan pertanyaan. Dalam kes ini, anda boleh menggunakan enjin formula dalam melengkapkan keseluruhan pengiraan untuk mengoptimumkan proses.
Ambil perhatian bahawa jika enjin formula akhirnya membina keseluruhan jadual dengan sendiri, set keputusan yang dibuat dalam proses tidak akan digunakan dalam pertanyaan berikutnya yang akan dijana oleh alat klien jika ia serupa dengan pertanyaan yang dilaksanakan sebelum ini . Tetapi sekiranya enjin storan menyediakan cache data, maka cache data tertentu itu boleh disimpan dalam memori supaya ia boleh mengoptimumkan permintaan yang datang daripada alat klien.
Bagaimanakah ia akan berfungsi?
Katakan kita menulis pertanyaan untuk dilaksanakan sepenuhnya oleh enjin storan, tetapi dengan beberapa aspek yang perlu dikira oleh enjin formula. Dalam kes ini, enjin storan akan menghantar cache data kembali ke enjin formula dan cache data itu (sekiranya ia mudah) boleh disimpan dalam ingatan.
Sekarang, jika pertanyaan serupa datang dalam beberapa saat kemudian, bukannya mengimbas keseluruhan model data sekali lagi, enjin formula atau enjin storan akan menggunakan cache data tertentu itu supaya masa pertanyaan dapat dikurangkan dan pengalaman pengguna boleh bertambah baik.
Mengurangkan Beban Pada Enjin Formula
Sekali lagi, enjin formula memahami kod DAX dan MDX.
Jadi jika anda menggunakan , dan tugasan lain, enjin formula mengetahui semua fungsi yang anda gunakan dalam bahasa DAX dan akan dapat menyelesaikan semuanya sendiri. Walau bagaimanapun, ini boleh memberi kesan kepada prestasi pertanyaan terutamanya kerana enjin formula cuba melakukan segala-galanya menggunakan satu teras.
Inilah sebabnya mengapa kita juga perlu berhati-hati tentang mengurangkan beban pada enjin formula dan meningkatkan beban pada enjin storan.
Contoh yang baik tentang perbezaan pengiraan dalam enjin formula berbanding enjin storan ialah penggunaan CROSSJOIN berbanding .
Apabila anda menggunakan CROSSJOIN, hanya sejumlah data yang terhad akan dihantar melalui enjin storan. Bagi pengiraan selebihnya, semuanya akan dilakukan oleh enjin formula. Sebagai perbandingan, menggunakan SUMMARIZE bermakna melaksanakan keseluruhan pertanyaan dalam enjin storan.
Sudah tentu, ini juga bergantung pada cara SUMMARIZE digunakan.
Jika SUMMARIZE digunakan sebagai fungsi paling dalam, maka ia pasti akan ditolak ke enjin simpanan. Tetapi dalam beberapa kes, SUMMARIZE digunakan bersama dengan kod berbeza yang memerlukan enjin formula berfungsi. Dalam kes ini, enjin formula akan masuk dan melakukan kerja.
Mengetahui ke mana beban pergi boleh membantu anda mengoptimumkan prestasi pertanyaan anda, terutamanya apabila anda mengingati kapasiti dan had untuk enjin yang anda gunakan.
Alat Yang Boleh Membantu Mengoptimumkan DAX Untuk LuckyTemplates
Mengoptimumkan DAX akan menjadi lebih mudah jika anda memaksimumkan alatan yang membolehkannya. DAX Studio ialah salah satu alat tersebut.
Mari kita ambil contoh sebelum ini di mana enjin formula mengambil keseluruhan beban untuk melengkapkan pengiraan apabila fungsi SUMMARIZE digunakan. DAX Studio boleh membantu anda menulis semula kod anda dengan cara yang mendorong SUMMARIZE ke dalam enjin storan, membebaskan beban pada enjin formula. Ini berpotensi meningkatkan prestasi model data dan pertanyaan anda.
Sudah tentu, ini harus berfungsi dengan lancar untuk pertanyaan mudah. Terdapat juga senario yang lebih rumit.
Sebagai contoh, anda boleh membina model komposit yang menggunakan dua enjin storan dalam model data itu sendiri. Satu mungkin untuk Vertipaq, manakala satu lagi untuk DirectQuery. Dalam kes ini, pangkalan data anda perlu dioptimumkan dengan cara pertanyaan yang dijana akan dibina untuk model data hubungan khusus tersebut.
Katakan anda mempunyai dua jadual dalam model tarikh anda — jadual Produk dan jadual Jualan. Jadual Produk berada dalam storan Vertipaq, manakala jadual Jualan, sebagai jadual yang lebih besar, disimpan terus di dalam pangkalan data melalui sambungan DirectQuery.
Mari kita andaikan juga bahawa anda sedang menyeret lajur Jenama ke dalam matriks, serta ukuran Jumlah Jualan yang datang daripada jadual Jualan dalam sambungan DirectQuery.
Dalam kes ini, enjin formula perlu melakukan operasi antara kedua-dua enjin.
Mula-mula, ia akan mendapatkan semula lajur Kunci Produk dan Jenama daripada jadual Produk. Kemudian, ia akan mendapatkan semula lajur Harga Bersih, Kuantiti dan Kunci Produk daripada jadual Jualan. Sebaik sahaja ia mempunyai cache data daripada Vertipaq dan DirectQuery, enjin formula perlu mengambil cache data dan cuba menyertainya untuk memberikan hasil kepada pengguna akhir.
Teknik Pengoptimuman Pertanyaan DAX Dan Pelajaran
Prestasi Pertanyaan Dan Persediaan Studio DAX
Pengoptimuman DAX: Di Mana Untuk Cari Perangkap DAX Tersembunyi
Kesimpulan
Enjin formula benar-benar memainkan peranan yang besar apabila anda bekerja dengan DAX. Walau bagaimanapun, adalah penting untuk memahami cara ia berfungsi terlebih dahulu sebelum melangkah masuk. Menguasai cara membuat enjin formula dan enjin storan berfungsi dengan lancar bersama-sama adalah penting, terutamanya jika anda mahu pertanyaan DAX anda berprestasi lebih baik.
Sebagai enjin peringkat tertinggi dalam seni bina perkhidmatan analisis, enjin formula perlu melakukan banyak operasi. Tetapi setelah anda juga memahami selok-belok enjin storan, anda boleh memikirkan operasi mana yang hendak dimasukkan ke dalam enjin storan dan yang mana satu untuk ditinggalkan dalam enjin formula.
Kami akan menggali lebih mendalam ke dalam enjin storan dalam tutorial berasingan.
Semua yang terbaik,
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