Bagikan melalui


EARLIER

Berlaku untuk:Hitung kolomTerhitung Tabelterhitung Mengukurperhitungan Visual

Mengembalikan nilai saat ini dari kolom yang ditentukan dalam lulus evaluasi luar dari kolom yang disebutkan.

EARLIER berguna untuk perhitungan berlapis di mana Anda ingin menggunakan nilai tertentu sebagai input dan menghasilkan perhitungan berdasarkan input tersebut. Di Microsoft Excel, Anda hanya bisa melakukan penghitungan tersebut dalam konteks baris saat ini; namun, di DAX Anda dapat menyimpan nilai input dan kemudian membuat perhitungan menggunakan data dari seluruh tabel.

EARLIER sebagian besar digunakan dalam konteks kolom terhitung.

Sintaks

EARLIER(<column>, <number>)  

Parameter

Term Definisi
column Kolom atau ekspresi yang diselesaikan ke kolom.
num (Opsional) Angka positif ke lolos evaluasi luar.

Tingkat evaluasi berikutnya keluar diwakili oleh 1; dua tingkat keluar diwakili oleh 2 dan seterusnya.

Ketika nilai default yang dihilangkan adalah 1.

Nilai hasil

Nilai baris saat ini, dari kolom, pada jumlah hasil evaluasi luar.

Pengecualian

Deskripsi kesalahan

Keterangan

  • EARLIER berhasil jika ada konteks baris sebelum awal pemindaian tabel. Jika tidak, kesalahan akan ditampilkan.

  • Performa EARLIER mungkin lambat karena secara teoritis, mungkin harus melakukan sejumlah operasi yang mendekati jumlah total baris (dalam kolom) kali angka yang sama (tergantung pada sintaks ekspresi). Misalnya jika Anda memiliki 10 baris di kolom, sekitar 100 operasi dapat diperlukan; jika Anda memiliki 100 baris, maka mendekati 10.000 operasi mungkin dilakukan.

  • Fungsi ini tidak didukung untuk digunakan dalam mode DirectQuery saat digunakan dalam kolom terhitung atau aturan keamanan tingkat baris (RLS).

Catatan

Dalam praktiknya, mesin analitik dalam memori VertiPaq melakukan pengoptimalan untuk mengurangi jumlah perhitungan aktual, tetapi Anda harus berhati-hati saat membuat rumus yang melibatkan rekursi.

Contoh

Untuk mengilustrasikan penggunaan EARLIER, perlu untuk membangun skenario yang menghitung nilai peringkat lalu menggunakan nilai peringkat tersebut dalam perhitungan lain.

Contoh berikut didasarkan pada tabel sederhana ini, ProductSubcategory, yang menunjukkan total penjualan untuk setiap ProductSubcategory.

Tabel akhir, termasuk kolom peringkat diperlihatkan di sini.

ProductSubcategoryKey EnglishProductSubcategoryName TotalSubcategorySales SubkataanRanking
18 Bib-Shorts $156.167,88 18
26 Rak Sepeda $220.720,70 14
27 Stand Sepeda $35.628,69 30
28 Botol dan Sangkar $59.342,43 24
5 Kurung Bawah $48.643,47 27
6 Rem $62,113.16 23
19 Batasan $47.934,54 28
7 Rantai $8.847,08 35
29 Pembersih $16.882,62 32
8 Crankset $191.522,09 15
9 Derailleur $64.965,33 22
30 Fender $41.974,10 29
10 Fork $74.727,66 21
20 Sarung tangan $228.353,58 12
4 Setang $163.257,06 17
11 Headset $57.659,99 25
31 Helm $451.192,31 9
32 Paket Hidrasi $96.893,78 20
21 Jersey $699.429,78 7
33 Lampu 36
34 Penguncian $15.059,47 33
1 Sepeda Gunung $34.305.864,29 2
12 Bingkai Sepeda Gunung $4.511.170,68 4
35 Pannier 36
13 Pedal $140.422,20 19
36 Pompa $12.695,18 34
2 Sepeda balap $40.551.696,34 1
14 Rangka sepeda $3.636.398,71 5
15 Sadel $52.526,47 26
22 Celana pendek $385.707,80 10
23 Kaus kaki $28.337,85 31
24 Pengunci $189.179,37 16
37 Ban dan Tabung $224.832,81 13
3 Sepeda Touring $13.334.864,18 3
16 Rangka Sepeda Tur $1.545.344,02 6
25 Rompi $240,990.04 11
17 Roda $648.240,04 8

Membuat Nilai Peringkat

Salah satu cara untuk mendapatkan nilai peringkat untuk nilai tertentu dalam baris adalah dengan menghitung jumlah baris, dalam tabel yang sama, yang memiliki nilai lebih besar (atau lebih kecil) daripada yang sedang dibandingkan. Teknik ini mengembalikan nilai kosong atau nol untuk nilai tertinggi dalam tabel, sedangkan nilai yang sama akan memiliki nilai peringkat yang sama dan nilai berikutnya (setelah nilai yang sama) akan memiliki nilai peringkat non berturut-turut. Lihat sampel di bawah ini.

Kolom terhitung baru, SubCategorySalesRanking, dibuat dengan menggunakan rumus berikut.

= COUNTROWS(FILTER(ProductSubcategory, EARLIER(ProductSubcategory[TotalSubcategorySales])<ProductSubcategory[TotalSubcategorySales]))+1  

Langkah-langkah berikut menjelaskan metode penghitungan secara lebih rinci.

  1. Fungsi EARLIER mendapatkan nilai TotalSubcategorySales untuk baris saat ini dalam tabel. Dalam hal ini, karena proses dimulai, ini adalah baris pertama dalam tabel

  2. EARLIER([TotalSubcategorySales]) mengevaluasi ke $156.167,88, baris saat ini di perulangan luar.

  3. Fungsi FILTER sekarang mengembalikan tabel di mana semua baris memiliki nilai TotalSubcategorySales yang lebih besar dari $156.167,88 (yang merupakan nilai saat ini untuk EARLIER).

  4. Fungsi COUNTROWS menghitung baris tabel yang difilter dan menetapkan nilai tersebut ke kolom terhitung baru di baris saat ini ditambah 1. Menambahkan 1 diperlukan untuk mencegah nilai peringkat teratas menjadi Kosong.

  5. Rumus kolom terhitung berpindah ke baris berikutnya dan mengulangi langkah 1 hingga 4. Langkah-langkah ini diulang hingga akhir tabel tercapai.

Fungsi EARLIER akan selalu mendapatkan nilai kolom sebelum operasi tabel saat ini. Jika Anda perlu mendapatkan nilai dari perulangan sebelum itu, atur argumen kedua ke 2.

Fungsi EARLIEST
Fungsi filter