تابع COUNTX در Power BI
تابع COUNTX در Power BI یکی از توابع تکرارشونده (Iterator) در زبان DAX است که برای شمارش تعداد مقادیر غیرخالی حاصل از ارزیابی یک عبارت در هر ردیف از یک جدول استفاده میشود. این تابع نسبت به COUNT و COUNTA انعطافپذیری بسیار بیشتری دارد.
تعریف تابع COUNTX
COUNTX(<table>, <expression>)
<table>: جدولی که میخواهید روی آن تکرار انجام شود.<expression>: عبارتی که برای هر ردیف ارزیابی میشود. فقط مقادیر غیرخالی حاصل از این ارزیابی شمرده میشوند.
نحوه عملکرد
تابع COUNTX برای هر ردیف از جدول، ابتدا عبارت مشخصشده را ارزیابی میکند. سپس فقط مقادیری که نتیجه آنها BLANK() نیست، شمرده میشوند.
مثال 1
فرمول زیر تعداد تمام ردیفهای جدول محصول که دارای قیمت لیست هستند را برمیگرداند.
= COUNTX(Product,[ListPrice])
مثال 2
فرمول زیر نحوه ارسال یک جدول فیلتر شده به تابع COUNTX را برای اولین آرگومان نشان میدهد. این فرمول از یک عبارت فیلتر برای دریافت فقط ردیفهایی در جدول Product که شرط ProductSubCategory = “Caps” را دارند، استفاده میکند و سپس ردیفهایی را در جدول حاصل که دارای قیمت لیست هستند، شمارش میکند. عبارت FILTER برای جدول Products اعمال میشود، اما از مقداری استفاده میکند که شما در جدول مرتبط، ProductSubCategory، جستجو میکنید.
= COUNTX(FILTER(Product,RELATED(ProductSubcategory[EnglishProductSubcategoryName])="Caps"), Product[ListPrice])
مثال کاربردی
فرض کنید جدولی به نام Sales دارید با ستونهای Quantity و UnitPrice. اگر بخواهید تعداد ردیفهایی را بشمارید که مقدار فروش (یعنی Quantity * UnitPrice) آنها خالی نباشد:
ValidSalesCount := COUNTX(Sales, Sales[Quantity] * Sales[UnitPrice])
در این مثال، فقط ردیفهایی که حاصل ضرب Quantity و UnitPrice مقدار داشته باشد، در شمارش لحاظ میشوند.
تفاوت با توابع مشابه
| تابع | عملکرد |
|---|---|
COUNT |
شمارش مقادیر عددی غیرخالی در یک ستون |
COUNTA |
شمارش همه مقادیر غیرخالی (عدد، متن، منطقی) |
COUNTBLANK |
شمارش مقادیر خالی |
COUNTX |
شمارش مقادیر غیرخالی حاصل از ارزیابی یک عبارت در هر ردیف جدول |
⚠️ نکات مهم
- اگر عبارت ارزیابیشده در یک ردیف
BLANK()باشد، آن ردیف در شمارش لحاظ نمیشود. - برای شمارش شرطی یا محاسبات سفارشی،
COUNTXبسیار مناسبتر ازCOUNTاست. - میتوان آن را با توابعی مانند
FILTERترکیب کرد تا شمارش مشروط انجام شود.
ملاحضات
- تابع COUNTX دو آرگومان میگیرد. آرگومان اول همیشه باید یک جدول یا هر عبارتی باشد که یک جدول را برمیگرداند. آرگومان دوم ستون یا عبارتی است که توسط COUNTX جستجو میشود.
- تابع COUNTX فقط مقادیر، تاریخها یا رشتهها را شمارش میکند. اگر تابع هیچ ردیفی برای شمارش پیدا نکند، یک جای خالی برمیگرداند.
- اگر میخواهید مقادیر منطقی را بشمارید، از تابع COUNTAX استفاده کنید.
- این تابع برای استفاده در حالت DirectQuery هنگام استفاده در ستونهای محاسبهشده یا قوانین امنیتی سطح ردیف (RLS) پشتیبانی نمیشود.
برای خرید لایسنس نرم افزار Power BI ، میتوانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.
میتوانید پاور بی آی دسکتاپ رایگان را دانلود کنید : Power BI desktop download
