Läs på engelska

Dela via


Använd COUNTROWS i stället för COUNT

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

Dina krav kan uppnås på två sätt. Du kan använda funktionen COUNT för att count kolumn values, or du kan använda funktionen COUNTROWS för att count tabellrader. Båda funktionerna kommer att uppnå samma resultat, förutsatt att det inte finns några tomma värden i den räknade kolumnen contains.

Följande measure definition visar ett exempel. Den beräknar antalet i OrderDate kolumnen values.

Sales Orders =
COUNT(Sales[OrderDate])

Förutsatt att kornigheten i tabellen Sales är en rad per försäljningsorder, and kolumnen OrderDate innehåller not BLANK:er. Då returnerar measure ett korrekt resultat.

Följande measure definition är dock en bättre lösning.

Sales Orders =
COUNTROWS(Sales)

Det finns tre orsaker till att definitionen av secondmeasure är bättre:

  • Det är mer effektivt, and så att det presterar bättre.
  • Den tar inte hänsyn till blanka fält som finns i någon kolumn i tabellen.
  • Avsikten med formeln är tydligare, till den grad att den är självbeskrivande.

Rekommendation

Om det är din avsikt att count tabellrader rekommenderas det att du alltid använder funktionen COUNTROWS.