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 all,
I am currently stuck in getting this corrected and doesn't seem to work somehow. I have a slicer selection on the page - for STORE. I am trying to set condition based on different STORE selection from slicer. Below is the DAX measure I have created:
Solved! Go to Solution.
Hi @Sashwato ,
According to your description, I create a sample.
The two tables have relationship.
Columns cannot be directly quoted in measure, as measure is aggregation operation, it can only refer to unique values, not a column. You can add MAX function to return the value of the current row, like this:
BrandName SelectedFormula =
var SelectedValue = SELECTEDVALUE(store[cdk_accounting_account])
RETURN
SWITCH(TRUE(),
SelectedValue = "PNH-A", IF(MAX(inventoryvehicle_v[Brand Name]) = "Porsche", MAX(inventoryvehicle_v[Brand Name]), "Others"),
SelectedValue = "LH-A", IF(MAX(inventoryvehicle_v[Brand Name]) IN{ "LAMB" ,"LAM" ,"MCLA" ,"MCLRN"}, MAX(inventoryvehicle_v[Brand Name]), "Others"))
In this way, the measure works, but the brand name cann't be filtered by slicer.
You can modify the formula like this:
BrandName SelectedFormula 2 =
VAR SelectedValue =
SELECTEDVALUE ( store[cdk_accounting_account] )
RETURN
SWITCH (
TRUE (),
SelectedValue = "PNH-A",
IF (
MAX ( 'inventoryvehicle_v'[account] ) = "PNH-A",
IF (
MAX ( inventoryvehicle_v[Brand Name] ) = "Porsche",
MAX ( inventoryvehicle_v[Brand Name] ),
"Others"
),
BLANK ()
),
SelectedValue = "LH-A",
IF (
MAX ( 'inventoryvehicle_v'[account] ) = "LH-A",
IF (
MAX ( inventoryvehicle_v[Brand Name] ) IN { "LAMB", "LAM", "MCLA", "MCLRN" },
MAX ( inventoryvehicle_v[Brand Name] ),
"Others"
),
BLANK ()
)
)
Here's the result.
I attach my sample below for reference.
Best Regards,
Community Support Team _ kalyj
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Sashwato ,
According to your description, I create a sample.
The two tables have relationship.
Columns cannot be directly quoted in measure, as measure is aggregation operation, it can only refer to unique values, not a column. You can add MAX function to return the value of the current row, like this:
BrandName SelectedFormula =
var SelectedValue = SELECTEDVALUE(store[cdk_accounting_account])
RETURN
SWITCH(TRUE(),
SelectedValue = "PNH-A", IF(MAX(inventoryvehicle_v[Brand Name]) = "Porsche", MAX(inventoryvehicle_v[Brand Name]), "Others"),
SelectedValue = "LH-A", IF(MAX(inventoryvehicle_v[Brand Name]) IN{ "LAMB" ,"LAM" ,"MCLA" ,"MCLRN"}, MAX(inventoryvehicle_v[Brand Name]), "Others"))
In this way, the measure works, but the brand name cann't be filtered by slicer.
You can modify the formula like this:
BrandName SelectedFormula 2 =
VAR SelectedValue =
SELECTEDVALUE ( store[cdk_accounting_account] )
RETURN
SWITCH (
TRUE (),
SelectedValue = "PNH-A",
IF (
MAX ( 'inventoryvehicle_v'[account] ) = "PNH-A",
IF (
MAX ( inventoryvehicle_v[Brand Name] ) = "Porsche",
MAX ( inventoryvehicle_v[Brand Name] ),
"Others"
),
BLANK ()
),
SelectedValue = "LH-A",
IF (
MAX ( 'inventoryvehicle_v'[account] ) = "LH-A",
IF (
MAX ( inventoryvehicle_v[Brand Name] ) IN { "LAMB", "LAM", "MCLA", "MCLRN" },
MAX ( inventoryvehicle_v[Brand Name] ),
"Others"
),
BLANK ()
)
)
Here's the result.
I attach my sample below for reference.
Best Regards,
Community Support Team _ kalyj
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Thank you for inputs and the example file! This resolved my issue.
@Sashwato , Are you trying to create a new column, That will not take the selected value.
If you are trying a new measure, then you need to take some aggregation on brand_name
Hi Amit,
Yes that's an issue, I am trying to create a new measure. I am not sure what aggregation will come up here since it's a straighforward condition based on text.
Regards!
@Sashwato , You have use like example
Max(InventoryVehicleName[Brand]) = "Other"
and it will search for brand name in context.
Or write formula inside expression part of Sumx, maxx etc