Ungkapan Analisis Data (DAX) dalam Power Pivot

Ungkapan Analisis Data (DAX) dalam Power Pivot

Penting: Artikel ini diterjemahkan oleh mesin, lihatlah notis penafian. Sila dapatkan versi Bahasa Inggeris artikel ini di sini sebagai rujukan anda

Ungkapan analisis data (DAX) memang mengancam sedikit pada mulanya, tetapi tidak membenarkan nama menipu anda. Asas DAX adalah benar-benar agak mudah difahami. Perkara pertama pertama - DAX bukan bahasa pemprograman. DAX adalah Bahasa formula. Anda boleh menggunakan DAX untuk mentakrifkan pengiraan tersuai untuk Lajur terhitung dan untuk ukuran (juga dikenali sebagai medan terhitung). DAX termasuk beberapa fungsi yang digunakan dalam Formula Excel dan fungsi tambahan yang direka bentuk untuk berfungsi dengan data hubungan dan melaksanakan pengagregatan dinamik.

Memahami Formula DAX

Formula DAX sangat serupa dengan formula Excel. Untuk mencipta formulanya, anda taipkan tanda sama dengan, diikuti dengan nama fungsi atau ungkapan dan mana-mana nilai atau argumen yang diperlukan. Seperti Excel, DAX menyediakan pelbagai fungsi yang anda boleh gunakan untuk bekerja dengan rentetan, melaksanakan pengiraan menggunakan tarikh dan masa, atau mencipta nilai bersyarat.

Walau bagaimanapun, formula DAX adalah berlainan dalam cara penting berikut:

  • Jika anda ingin menyesuaikan pengiraan berasaskan baris demi baris, DAX termasuk fungsi yang membenarkan anda menggunakan nilai baris semasa atau nilai berkaitan untuk melaksanakan pengiraan yang berbeza mengikut konteks.

  • DAX termasuk sejenis fungsi yang mengembalikan jadual sebagai hasilnya dan bukannya nilai tunggal. Fungsi berikut boleh digunakan untuk menyediakan input kepada fungsi lain.

  • Fungsi risikan masadalam DAX membenarkan pengiraan menggunakan julat tarikh dan membandingkan hasil merentasi tempoh selari.

Di manakah Untuk Menggunakan Formula DAX

Anda boleh mencipta formula dalam Power Pivot dalam c terhitungolumns atau terhitung fbidang.

Lajur Terhitung

Lajur terhitung ialah lajur yang anda tambahkan pada jadual Power Pivot sedia ada. Selain daripada menampal atau mengimport nilai dalam lajur, anda mencipta formula DAX yang mentakrifkan nilai lajur. Jika anda memasukkan jadual Power Pivot dalam Jadual Pangsi (atau Carta Pangsi), lajur terhitung boleh digunakan seperti mana anda akan gunakan mana-mana lajur data lain.

Formula dalam lajur terhitung adalah agak sama dengan formula yang anda cipta dalam Excel. Walau bagaimanapun, tidak seperti dalam Excel, anda tidak boleh mencipta formula berlainan untuk baris berlainan dalam sebuah jadual; sebaliknya, formula DAX akan digunakan pada seluruh lajur secara automatik.

Apabila lajur mengandungi formula, nilainya dihitung bagi setiap baris. Hasilnya dihitung untuk lajur sejurus selepas anda mencipta formula. Nilai lajur hanya dihitung semula jika data dasar disegar semula atau jika pengiraan semula manual digunakan.

Anda boleh mencipta lajur terhitung yang berdasarkan ukuran dan lajur terhitung lain. Walau bagaimanapun, elakkan menggunakan nama yang sama untuk lajur terhitung dan ukuran, seperti ini boleh menyebabkan mengelirukan hasil. Apabila merujuk kepada lajur, anda digalakkan untuk menggunakan rujukan lajur yang layak sepenuhnya, untuk mengelakkan secara tidak sengaja meluluskan ukuran.

Untuk maklumat lebih terperinci, lihat Lajur Terhitung dalam Power Pivot.

Ukuran

Ukuran adalah formula yang dicipta secara khusus untuk digunakan dalam Jadual pangsi (atau carta pangsi) yang menggunakan Power Pivot data. Ukuran boleh berdasarkan fungsi pengagregatan standard, seperti kiraan atau jumlah, atau anda boleh mentakrifkan formula anda sendiri menggunakan DAX. Ukuran digunakan dalam kawasan nilai Jadual pangsi. Jika anda ingin meletakkan hasil terhitung dalam kawasan berlainan Jadual pangsi, menggunakan lajur terhitung.

Apabila anda mentakrifkan formula untuk ukuran yang eksplisit, apa-apa berlaku sehingga anda menambah ukuran ke dalam Jadual pangsi. Apabila anda menambah diukur, formula dinilai untuk setiap sel dalam kawasan nilai Jadual pangsi. Kerana hasil dicipta untuk setiap gabungan pengepala baris dan lajur, hasil untuk ukuran boleh berbeza dalam setiap sel.

Takrifan ukuran yang anda cipta disimpan dengan bahagian Jadual data sumber. Ia muncul dalam senarai medan jadual pangsi dan tersedia untuk semua pengguna buku kerja.

Untuk maklumat lebih terperinci, lihat langkah-langkah dalam Power Pivot.

Mencipta Formula dengan Menggunakan Bar Formula

Power Pivot, seperti Excel, menyediakan bar formula untuk memudahkan lagi kerja mencipta dan mengedit formula, dan kefungsian AutoLengkap, untuk meminimumkan ralat taip dan sintaks.

Untuk memasukkan nama jadual Mula menaip nama jadual. Formula AutoLengkap menyediakan senarai juntai bawah mengandungi nama sah yang bermula dengan huruf tersebut.  

Untuk memasukkan nama lajur Taipkan kurungan kemudian pilih lajur daripada senarai lajur dalam jadual semasa. Untuk lajur daripada jadual lain, mula menaip huruf pertama nama jadual kemudian pilih lajur daripada senarai juntai bawah AutoLengkap.  

Untuk butiran lanjut dan lintas semak cara membina formula, lihat Mencipta Formula untuk Pengiraan dalam Power Pivot.

Petua untuk Menggunakan AutoLengkap

Anda boleh menggunakan Formula AutoLengkap di bahagian tengah formula sedia ada dengan fungsi tersarang. Teks sejurus sebelum titik selitan digunakan untuk memaparkan nilai dalam senarai juntai bawah dan semua teks selepas titik selitan masih sama.

Nama tertakrif yang anda cipta untuk pemalar tidak dipaparkan dalam senarai juntai bawah AutoLengkap, tetapi anda masih boleh menaipnya.

Power Pivot tidak menambah tanda kurung penutup fungsi atau memadankan tanda kurung secara automatik. Anda hendaklah memastikan bahawa setiap fungsi adalah betul secara sintaksis jika tidak anda tidak boleh menyimpan atau menggunakan formula. 

Menggunakan Pelbagai Fungsi dalam Formula

Anda boleh menyarangkan fungsi, bermaksud anda boleh menggunakan keputusan daripada satu fungsi sebagai argumen untuk fungsi lain. Anda boleh menyarangkan sehingga 64 tahap fungsi dalam lajur terhitung. Namun, penyarangan boleh menjadikannya susah untuk mencipta atau menyelesaikan masalah formula.

Banyak fungsi DAX direka bentuk untuk digunakan hanya sebagai fungsi tersarang. Fungsi berikut mengembalikan jadual, yang tidak boleh disimpan terus sebagai hasil; ia sepatutnya disediakan sebagai input kepada fungsi jadual. Contohnya, fungsi SUMX, AVERAGEX, dan MINX kesemuanya memerlukan jadual sebagai argumen pertama.

Nota: Beberapa had pada penyarangan fungsi wujud dalam langkah-langkah untuk memastikan prestasi tidak dipengaruhi oleh banyak pengiraan yang diperlukan oleh kebergantungan antara lajur.

Membandingkan Fungsi DAX dan Excel

Pustaka fungsi DAX adalah berdasarkan pada pustaka fungsi Excel, tetapi pustaka tersebut mempunyai banyak perbezaan. Seksyen ini meringkaskan perbezaan dan persamaan di antara fungsi Excel dan DAX.

  • Banyak fungsi DAX mempunyai nama yang sama dan kelakuan umum yang sama seperti fungsi Excel tetapi telah diubah suai untuk mengambil jenis input berlainan dan dalam sesetengah kes, mungkin mengembalikan jenis data yang berlainan. Secara umumnya, anda tidak boleh menggunakan fungsi DAX dalam formula Excel atau menggunakan formula Excel dalam Power Pivot tanpa sedikit pengubahsuaian.

  • Fungsi DAX tidak akan mengambil rujukan sel atau julat sebagai rujukan, tetapi fungsi DAX akan mengambil lajur atau jadual sebagai rujukan.

  • Fungsi tarikh dan masa DAX mengembalikan jenis data datetime. Sebaliknya, fungsi tarikh dan masa Excel memberikan integer yang mewakili tarikh sebagai nombor siri.

  • Banyak fungsi DAX baru sama ada mengembalikan jadual nilai atau membuat pengiraan berdasarkan pada jadual nilai sebagai input. Sebaliknya, Excel tidak mempunyai fungsi yang mengembalikan jadual, tetapi beberapa fungsi boleh berfungsi dengan tatasusunan. Kebolehan untuk merujuk kepada jadual dan lajur lengkap dengan mudah ialah ciri baru dalam Power Pivot.

  • DAX menyediakan fungsi carian baru yang sama dengan fungsi tatasusunan dan carian vektor dalam Excel. Namun, fungsi DAX memerlukan yang hubungan diwujudkan antara kedua-dua jadual tersebut.

  • Data dalam lajur dijangkakan untuk sentiasa jenis data yang sama. Jika data bukan daripada jenis yang sama, DAX akan mengubah seluruh lajur kepada jenis data yang sesuai dengan semua nilai.

Jenis Data DAX

Anda boleh mengimport data ke dalam model data Power Pivot daripada banyak sumber data yang mungkin menyokong jenis data berlainan. Apabila anda mengimport atau memuatkan data kemudian menggunakan data dalam pengiraan atau dalam Jadual Pangsi, data ditukar kepada salah satu jenis data Power Pivot. Untuk senarai jenis data, lihat Jenis data dalam Model Data.

Jenis data jadual ialah jenis data baru dalam DAX yang digunakan sebagai input atau output kepada banyak fungsi baru. Contohnya, fungsi FILTER menjadikan jadual sebagai input dan output jadual lain yang mengandungi hanya baris yang menepati syarat penapis. Dengan menggabungkan fungsi jadual dengan fungsi pengagregatan, anda boleh melaksanakan pengiraan kompleks ke atas set data yang ditentukan secara dinamik. Untuk maklumat lanjut, lihat Pengagregatan dalam Power Pivot.

Formula dan Model Hubungan

Tetingkap Power Pivot adalah kawasan di mana anda boleh bekerja dengan berbilang Jadual data dan menyambungkan Jadual dalam model hubungan. Dalam model data ini, Jadual disambungkan antara satu sama lain dengan perhubungan yang membenarkan anda mencipta korelasi dengan lajur dalam Jadual lain dan mencipta pengiraan yang lebih menarik. Contohnya, anda boleh mencipta formula yang menjumlahkan nilai untuk jadual berkaitan dan kemudian simpan nilai tersebut dalam sel tunggal. Atau, untuk mengawal baris daripada jadual berkaitan, anda boleh menggunakan penapis pada jadual dan lajur. Untuk maklumat lanjut, lihat perhubungan antara Jadual dalam Data Model.

Oleh sebab anda boleh memautkan jadual dengan menggunakan hubungan, Jadual Pangsi anda turut boleh memasukkan data daripada pelbagai lajur yang berasal daripada jadual berlainan.

Namun, kerana formula boleh berfungsi dengan seluruh jadual dan lajur, anda perlu mereka pengiraan lain secara berbeza dengan apa yang anda lakukan dalam Excel.

  • Secara umum, formula DAX dalam lajur selalu digunakan ke atas seluruh set nilai dalam lajur (dan bukannya hanya pada beberapa baris atau sel).

  • Jadual dalam Power Pivot mesti sentiasa mempunyai jumlah lajur yang sama dalam setiap baris dan semua baris dalam lajur mesti mengandungi jenis data yang sama.

  • Apabila jadual disambungkan mengikut hubungan, anda dijangka untuk memastikan bahawa dua lajur yang digunakan sebagai kunci mempunyai nilai yang sepadan, bagi kebanyakan bahagiannya. Disebabkan Power Pivot tidak menguatkuasakan integriti rujukan, mungkin terdapat nilai yang tidak sepadan dalam lajur kunci dan masih mencipta hubungan. Walau bagaimanapun, kehadiran nilai kosong atau nilai yang tidak sepadan mungkin mempengaruhi hasil formula dan kemunculan Jadual Pangsi. Untuk maklumat lanjut, lihat Carian dalam Formula Power Pivot.

  • Apabila anda memautkan Jadual dengan menggunakan hubungan, anda membesarkan skop atau context Formula anda dinilai. Contohnya, formula dalam Jadual pangsi boleh dipengaruhi oleh sebarang penapis atau tajuk lajur dan baris dalam Jadual pangsi. Anda boleh menulis formula yang memanipulasikan konteks, tetapi konteks boleh menyebabkan hasil anda untuk mengubah cara yang anda mungkin jangkakan. Untuk maklumat lanjut, lihat konteks dalam Formula DAX.

Mengemas kini Keputusan Formula

Data r segar semula dan pengiraan semula adalah dua operasi berasingan tetapi berkaitan yang anda perlu memahami apabila mereka bentuk model data yang mengandungi formula kompleks, jumlah besar daripada data atau data yang diperoleh daripada sumber data Luaran.

Menyegarkan semula data merupakan proses mengemas kini data dalam buku kerja anda dengan data baru daripada sumber data luaran. Anda boleh menyegar semula data secara manual mengikut selang masa yang anda tentukan. Atau, jika anda telah menerbitkan buku kerja kepada laman SharePoint, anda boleh menjadualkan segar semula automatik daripada sumber luaran.

Pengiraan semula merupakan proses mengemas kini hasil formula untuk menunjukkan sebarang perubahan kepada formula dan untuk menunjukkan perubahan tersebut dalam data dasar. Pengiraan semula boleh mempengaruhi prestasi dengan cara berikut:

  • Untuk lajur terhitung, hasil formula harus sentiasa dikira semula bagi seluruh lajur, setiap kali anda mengubah formula.

  • Untuk ukuran, hasil formula tidak dikira sehingga diukur diletakkan dalam konteks pangsi atau carta. Formula juga dikira semula apabila anda mengubah sebarang baris atau tajuk lajur yang mempengaruhi penapis pada data atau apabila anda menyegar semula secara manual Jadual pangsi.

Menyelesaikan Masalah Formula

Ralat semasa menulis formula

Jika anda mendapat ralat semasa mentakrifkan formula, formula mungkin mengandungi sama ada ralat sintaksis, ralat semantik, atau ralat pengiraan.

Ralat sintaksis merupakan ralat paling mudah untuk diselesaikan. Mereka biasanya melibatkan tanda kurungan atau tanda koma yang hilang. Untuk bantuan dengan sintaks fungsi individu, lihat Rujukan Fungsi DAX.

Jenis ralat lain yang berlaku apabila sintaksnya betul, tetapi nilai atau lajur rujukannya tidak munasabah dalam konteks formula. Ralat semantik dan pengiraan sedemikian mungkin disebabkan oleh salah satu daripada masalah berikut:

  • Formula merujuk kepada lajur, jadual atau fungsi tidak wujud.

  • Formula tersebut kelihatan betul, tetapi apabila enjin data mendapatkan data, ia mendapati salah padanan jenis dan mewujudkan ralat.

  • Formula menghantar nombor atau jenis parameter yang salah kepada fungsi.

  • Formula merujuk kepada lajur berlainan yang mempunyai ralat jadi nilainya adalah tidak sah.

  • Formula merujuk kepada lajur yang belum diproses, bermaksud ia mempunyai metadata tetapi tiada data sebenar untuk digunakan bagi pengiraan.

Dalam empat kes pertama, DAX membenderakan seluruh lajur yang mengandungi formula tidak sah. Dalam kes terakhir, DAX mengelabukan lajur untuk menunjukkan bahawa lajur berada dalam keadaan yang tidak diproses.

Keputusan yang salah atau tidak normal apabila memberi kedudukan atau memesan nilai lajur

Apabila memberi kedudukan atau memesan lajur yang mengandungi nilai NaN (Bukan Nombor), anda mungkin mendapat hasil yang salah atau tidak dijangkakan. Contohnya, apabila pengiraan membahagikan 0 dengan 0, hasil NaN akan dikembalikan.

Ini adalah kerana enjin formula melaksanakan pesanan dan memberi kedudukan mengikut perbandingan nilai bernombor; namun NaN tidak boleh dibandingkan dengan nombor lain dalam lajur.

Untuk memastikan hasil yang betul, anda boleh menggunakan pernyataan bersyarat menggunakan fungsi IF untuk menguji nilai NaN dan mengembalikan nilai bernombor 0.

Kesesuaian dengan Analysis Services Model Berjadual dan Mod DirectQuery

Secara umum, formula DAX yang anda bina dalam Power Pivot adalah amat serasi dengan model berjadual Analysis Services. Walau bagaimanapun, jika anda memindahkan model Power Pivot anda kepada kejadian Analysis Services kemudian menggunakan model itu dalam mod DirectQuery, mungkin terdapat beberapa pengehadan.

  • Beberapa formula DAX mungkin mengembalikan hasil berlainan jika anda menggunakan model dalam mod DirectQuery.

  • Beberapa formula mungkin mengakibatkan ralat pengesahan apabila anda menggunakan model pada mod DirectQuery kerana formula mengandungi fungsi DAX yang tidak disokong dengan sumber data hubungan.

Untuk maklumat lanjut, lihat dokumentasi model berjadual Analysis Services di SQL Server 2012 BooksOnline.

Nota: Notis Penafian Penterjemahan Mesin: Artikel ini telah diterjemah oleh sistem komputer tanpa campur tangan manusia. Microsoft menawarkan penterjemahan mesin ini untuk membantu pengguna-pengguna yang tidak bertutur dalam Bahasa Inggeris supaya dapat menikmati kandungan mengenai produk, perkhidmatan dan teknologi Microsoft. Artikel ini mungkin mengandungi ralat perbendaharaan kata, sintaks atau tatabahasa kerana ia diterjemahkan oleh mesin.

Kembangkan kemahiran anda
Jelajahi latihan
Dapatkan ciri baru terlebih dahulu
Sertai Office Insiders

Adakah maklumat ini membantu?

Terima kasih atas maklum balas anda!

Terima kasih atas maklum balas anda! Nampaknya ia mungkin akan membantu untuk menyambungkan anda kepada salah seorang daripada ejen sokongan Office kami.

×