Dela via


Använd COUNTROWS istället för COUNT

Som datamodellerare kan du ibland behöva skriva ett DAX-uttryck som räknar tabellrader. Tabellen kan vara en modelltabell eller ett uttryck som returnerar en tabell.

Dina krav kan uppnås på två sätt. Du kan använda funktionen COUNT för att räkna kolumnvärden, eller så kan du använda funktionen COUNTROWS för att räkna tabellrader. Båda funktionerna uppnår samma resultat, förutsatt att den räknade kolumnen inte innehåller några BLANK:er.

Följande måttdefinition visar ett exempel. Den beräknar antalet OrderDate-kolumnvärden .

Sales Orders =
COUNT(Sales[OrderDate])

Förutsatt att kornigheten i tabellen Försäljning är en rad per försäljningsorder och kolumnen OrderDate inte innehåller BLANK:er, returnerar måttet ett korrekt resultat.

Följande måttdefinition är dock en bättre lösning.

Sales Orders =
COUNTROWS(Sales)

Det finns tre orsaker till att den andra måttdefinitionen är bättre:

  • Det är mer effektivt, så det kommer att fungera bättre.
  • Den tar inte hänsyn till BLANK:er som finns i någon kolumn i tabellen.
  • Avsikten med formeln är tydligare, till den grad att den är självbeskrivande.

Rekommendation

När det är din avsikt att räkna tabellrader rekommenderar vi att du alltid använder funktionen COUNTROWS.