Forum Discussion
How to compare two strings in consecutive rows and display result in new column
Hi All,
I am looking for the solution for a query where in I have created a calculated columns in Power BI.
We need to calculate “total shipment count” in Power BI. For calculating total shipment count we need to apply two conditions:
- If the “Plant_Shpto_Shpment_Gross KG” is 0 then shipment count will be 0.
- Secondly, we have to compare the consecutive rows of the “Plnt_Ship-to_Shpmt_Mat” column. Please refer the snapshot below to view the formula(need to use similar kind formula in DAX) used to get the desired shipment count in Excel. If the values in the consecutive rows are same, it should return 0 as shipment count.Excel Formula
I have used following formula in power BI but its showing error.DAX formula
I also tried changing the data type for Shipment number but due to "0101_150190142_DRX0062220_1720.91" type of values it's giving error as "Cannot convert value '0101_150190142_DRX0062220_1720.91' of type Text to type Integer".
Can someone please help.
Thanks
in my syntax the TRUE result was the same shipment, FALSE was 0,
RETURN IF ( 'Table'[Plant_Shpto_Shpment_Gross KG] <> 0, IF ( SameShipment, 0, 1 ), 0 )In your syntax it's reverse, so you either need to change '<>' to '=' to fully reverse the logic, or switch 0 and same shipment condition
5 Replies
- Zubair_Muhammad
Community Champion
Anonymous
I believe you can use
VALUES or MIN or MAX or SELECTEDVALUE
instead of
SUM
- Stachu
Community Champion
try this
Column = VAR CurrentIndex = 'Table'[Index] VAR PreviousShipment = CALCULATE ( FIRSTNONBLANK ( 'Table'[Plnt_Ship-to_Shpmt_Mat], TRUE ), FILTER ( 'Table', 'Table'[Index] = CurrentIndex - 1 ) ) VAR SameShipment = 'Table'[Plnt_Ship-to_Shpmt_Mat] = PreviousShipment RETURN IF ( 'Table'[Plant_Shpto_Shpment_Gross KG] <> 0, IF ( SameShipment, 0, 1 ), 0 )- AnonymousNot applicable
Hi, I tried doing this but "'Table'[Plant_Shpto_Shpment_Gross KG] <> 0" condition is not validating properly. I have attached the snapshot below:
can you please help if i am missing something.
Thanks
- Stachu
Community Champion
in my syntax the TRUE result was the same shipment, FALSE was 0,
RETURN IF ( 'Table'[Plant_Shpto_Shpment_Gross KG] <> 0, IF ( SameShipment, 0, 1 ), 0 )In your syntax it's reverse, so you either need to change '<>' to '=' to fully reverse the logic, or switch 0 and same shipment condition