Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá, tenho uma expressão que com um IF simples
IF(count(UCID)>1,count(UCID),'')
Essa expressão se chama QTD e me retorna apenas os resultados que forem maiores que 1, caso não sejam me retornará um espaço vazio '', quero usa-la na minha dimensão em outro IF
=IF(QTD='','', [TELEFONE])
Onde se o resultado de QTD for vazio, me retorne vazio, caso contrário os dados em telefone, para assim poder usar a opção "Ocultar nulos" do Qlik.
Mas não estou conseguindo de forma alguma utilizar o Alias da expressão dentro da dimensão.
Desde já agradeço a ajuda.
Consegui resolver, na minha expressão ao invés de retornar um espaço vazio quando for menor que 2, pedi que retorna-se '0':
IF(count(UCID)>1,count(UCID),'0')
E na guia Apresentação com a opção "Ocultar zeros" ele removeu todas as linhas que eram menores que 2.
Amigo, não entendi muito bem o cenário, posta uns prints para entendermos.
Essas expressões estão num visualizador Tabela Simples e estão definidas em Dimensão?
Abraço.
Boa tarde
Acredito que você não vai conseguir utilizar o rótulo da expressão na dimensão.
Eu sugiro criar esse indicador no script de carga e então utilizar na dimensão.
marcio.campestrini um rapaz aqui do trabalho me deu um script no qual ele usa o nome que deu a Expressão, dentro da dimensão calculada e funcionou pra ele
=If(SIM='X','',[SUBITEM (Como avaliar)])
SIM é a expressão dele, SUBITEM é do select (script de carga), estou tentando fazer o mesmo que ele, ele fez uma expressão com IF e usou na dimensão.
Kaleb
Por gentileza, disponibilize um exemplo para avaliação.
Seque a imagem
Amigo, a solução mais produtiva que vejo, é controlar está questão no script como o nosso amigo marcio.campestrini comentou, vai facilitar sua vida na manutenção e até mesmo quem for assumir o trabalho.
Segue Márcio
Eu pensei nisso problema é que para obter tanto Telefone, quanto UCID, foi feito um código com charindex e substring, pois os mesmos estavam embaralhados dentro de um arquivo TXT, por exemplo para encontrar o Telefone:
CONVERT(VARCHAR(20),replace(substring(ori.uri,CHARINDEX('_',ori.uri)+3,9),'_','')) as TELEFONE
E aqui UCID
RTRIM(LTRIM(SUBSTRING(ori.uri, pos.f + 1, pos.g - pos.f - 1))) as UCID
Como eu faria um IF(count(UCID_VOICE)>1,count(UCID_VOICE),'') nesse UCID?
Amigo, segue exemplo:
Tab_Exemplo:
Load
<Campo_Chave>,
IF(count(
Trim(SUBSTRING(ori.uri, pos.f + 1, pos.g - pos.f - 1))
)>1
,count(
Trim(SUBSTRING(ori.uri, pos.f + 1, pos.g - pos.f - 1))
)
,''
)
Group By <Domensão>
Residente <Tabela>;
Obs.: RTRIM() + LTRIM() = TRIM()