Forum Discussion

Asina's avatar
Asina
Helper III
3 years ago
Solved

Finding paths connected through a node. Data filtering

  I have a table which resembles the below. The columns explained: Main contains the name and the pathway number. The Main can therefore contain nodes called Str1 or Str2, which indicates where it...
  • johnt75's avatar
    3 years ago

    Try

    Connected Mains = 
    VAR InitialNodes =
    	UNION( VALUES( 'Table'[Str1] ), VALUES( 'Table'[Str2] ) )
    VAR ConnectedMains =
    	CALCULATETABLE(
    		VALUES( 'Table'[Main] ),
    		'Table'[Str1] IN InitialNodes
    			|| 'Table'[Str2] IN InitialNodes,
    		REMOVEFILTERS( 'Table' )
    	)
    VAR ConnectedMainsExlcudingCurrent =
    	EXCEPT( ConnectedMains, { SELECTEDVALUE( 'Table'[Main] ) } )
    VAR Result =
    	CONCATENATEX(
    		ConnectedMainsExlcudingCurrent,
    		'Table'[Main],
    		", "
    	)
    RETURN
    	Result
  • johnt75's avatar
    johnt75
    3 years ago

    If I understand correctly you want a list of mains and all the nodes they are connected to. You could do another table like

    Main All Connected =
    GENERATE (
        ALLNOBLANKROW ( 'Main Neighbours'[Radialnr-rettet] ),
        DISTINCT (
            UNION (
                CALCULATETABLE ( VALUES ( 'Main Neighbours'[Connected To] ) ),
                CALCULATETABLE ( VALUES ( 'Main Neighbours'[Neighbours Neighbour] ) )
            )
        )
    )