The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
Hello,
I want to count the rows of a table filtered by two conditions. For this condition A always needs to be true. The second filter is conditional: if _onderscheid is not blank, the table column[onderscheid] should be equal to onderscheid, if the filter is blank, the additional filter is not required. The _onderscheid variable is a text value, or can be blank. The _onderscheid can be found in three columns in the table to be filtered.
I have created the VAR _table where I calculate a table like:
Solved! Go to Solution.
Hi @OffermansWE ,
You need to modify your CALCULATETABLE function so that the second filter condition is applied only when _onderscheid is not blank. When _onderscheid is blank, it should not filter the table based on BB/NB, W/U, or Gebruik_woon.
You can achieve this by modifying your VAR _table as follows:
VAR _table =
CALCULATETABLE(
'Unpivoted waarden',
'Unpivoted waarden'[Column_name] = _column_name,
IF(
ISBLANK(_onderscheid),
TRUE(),
'Unpivoted waarden'[BB/NB] = _onderscheid ||
'Unpivoted waarden'[W/U] = _onderscheid ||
'Unpivoted waarden'[Gebruik_woon] = _onderscheid
)
)
This way, _table correctly includes all rows when _onderscheid is blank, and only filters based on _onderscheid when it is provided.
Now, when you use COUNTROWS(_table), it should return the correct count for both blank and non-blank cases of _onderscheid.
Please mark this post as solution if it helps you. Appreciate Kudos.
@vivek31 As a result, i get the values for when _onmogelijk is not blank. However, I do not get any results when _onmogelijk is blank. The cells in the calculated column are blank for the cells where _onmogelijk is blank.
Hi @OffermansWE ,
You need to modify your CALCULATETABLE function so that the second filter condition is applied only when _onderscheid is not blank. When _onderscheid is blank, it should not filter the table based on BB/NB, W/U, or Gebruik_woon.
You can achieve this by modifying your VAR _table as follows:
VAR _table =
CALCULATETABLE(
'Unpivoted waarden',
'Unpivoted waarden'[Column_name] = _column_name,
IF(
ISBLANK(_onderscheid),
TRUE(),
'Unpivoted waarden'[BB/NB] = _onderscheid ||
'Unpivoted waarden'[W/U] = _onderscheid ||
'Unpivoted waarden'[Gebruik_woon] = _onderscheid
)
)
This way, _table correctly includes all rows when _onderscheid is blank, and only filters based on _onderscheid when it is provided.
Now, when you use COUNTROWS(_table), it should return the correct count for both blank and non-blank cases of _onderscheid.
Please mark this post as solution if it helps you. Appreciate Kudos.
HI @OffermansWE ,
you can use this formula to create table
VAR _table =
CALCULATETABLE('Unpivoted waarden',
'Unpivoted waarden'[Column_name] = _column_name
IF(NOT(ISBLANK(_onderscheid)),
'Unpivoted waarden'[BB/NB] = _onderscheid ||
'Unpivoted waarden'[W/U] = _onderscheid ||
'Unpivoted waarden'[Gebruik_woon] = _onderscheid))
then count the row
VAR _count = COUNTROWS(_table)
RETURN
_count
If this post helps, then please give us Kudos and consider Accept it as a solution to help the other members find it more quickly.