Split string in two or three columns based on character count

SELECT
	a.a AS Symbol,
	LEFT(a,CHARINDEX('_',a+'_')-1)  Ticker,
	LEFT(b,CHARINDEX('_',b+'_')-1)	Indicator,
	LEFT(c,CHARINDEX('_',c+'_')-1)	Dimension
FROM
	(SELECT Symbol AS a FROM [dbo].[STG_Quandl_Core_US_Fundamentals]) AS A
	CROSS APPLY (VALUES (STUFF(a,1,CHARINDEX('_',a+'_'),''))) B(b)   
	CROSS APPLY (VALUES (STUFF(b,1,CHARINDEX('_',b+'_'),''))) C(c) 

See here for an explanation of the logic used (responses from me and @Kristen )