Saya perlu bantuan menghitung persentase setiap kategori dalam kolom (berdasarkan total keseluruhan) di DAX tetapi untuk satu kategori tertentu.

Ini adalah bagaimana data terstruktur. Setiap baris adalah transaksi individu dengan kolom ID dan kolom item.

enter image description here

Saya perlu mendapatkan % transaksi yang hanya untuk bagel. Ini adalah kode sql saya yang saya gunakan saat ini.

`Select 100 - CAST(count([Items]) 
 - count(case [Items] when 'Bagel' then 1 else null end) AS FLOAT) 
 / count([Items]) * 100 as Percent_Bagel 
 from Items_Table where Items != 'Coffee' 
 and Items != 'Muffin'`

Saya membutuhkan ini untuk dikonversi ke rumus DAX untuk digunakan dalam pengukuran Power BI jika memungkinkan, tetapi saya baru mengenal DAX dan tidak tahu harus mulai dari mana.

Terima kasih.

0
ManMadeNova 1 September 2020, 20:20

1 menjawab

Jawaban Terbaik

Implementasi "benar" untuk Anda selalu bergantung pada konteksnya. Anda dapat mencapai tujuan Anda melalui pendekatan yang berbeda.

Saya telah menggunakan yang berikut ini:

Measure = 
DIVIDE(
    -- Numerator: Filter all Bagel's transaction and count them
    CALCULATE(
        COUNT('Table'[Transaction ID]),
        FILTER('Table', 'Table'[Item] = "Bagel")
    ),
    -- Denominator: Remove any filter - essentially fixing the full table - and count all transactions we have
    CALCULATE(
        COUNT('Table'[Transaction ID]), 
        ALL('Table'[Item])
    ),
    -- If something goes wrong with the DIVIDE, go for 0
    0
)

Anda juga dapat menggunakan filter untuk mengesampingkan semua ukuran yang tidak kosong.

Tanpa filter ukuran

Dengan filter ukuran (Kategori lain hilang)

Semoga ini yang Anda cari!

2
Vitor Monteiro 1 September 2020, 18:00