Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Criei uma variável com parâmetro da seguinte forma:
SET vMapPreposicoes = MapSubString('MapPreposicoes', Capitalize($1)) as $2;
Porém em 90% dos casos, o nome do campo se mantém original, como posso fazer para que no "as $2" ele use o "$1", quando $2 não for informado?
Tentei da seguinte maneira "as Alt($2, $1);" Porém não funciona.
Isaias,
Se entendi bem o que você precisa pode usar:
If(IsNull($2),$1,$2)
Thiago,
Tentei desta maneira também, porém obtenho o mesmo erro que o Alt($2, $1).
O erro é esse:
Unexpected token: '(', expected one of: ',', 'AutoGenerate', 'From', 'From_Field', 'Inline', 'Resident', 'Extension', ...:
MapSubString('MapPreposicoes', Capitalize("Dados Complementares do Material")) as If>>>>>>(<<<<<<IsNull($2), "Dados Complementares do Material", $2)
Pode postar o script?
Claro, basicamente é esse o script da tabela:
FOR Ano = $(vAnoIni) TO $(vAnoFim)
FOR Mes = $(mesini) TO $(mesfin)
LET Mes_Format = num(Mes, '00');
TRACE Executando: $(vQVDSaida)$(Ano)$(Mes_Format);
Tabela:
LOAD
PK_cmamat,
"Código Empresa",
"Código Material",
"Data Início Validade Material",
"Data Fim Validade Material",
"Identificador Código Individual Material",
"Curva ABC Material",
"Conta Contábil",
"Conta Contábil"&'|'& "Código Empresa" as PK_cgapce,
$(vMapPreposicoes("Dados Complementares do Material", "Dados Complementares do Material")),
Date(DayStart(MonthEnd(MakeDate($(Ano), $(Mes_Format))))) as "Data"
FROM [lib://Transformados/T_cmamat.qvd](qvd);
NEXT
NEXT
e minha variavel:
SET vMapPreposicoes = MapSubString('MapPreposicoes', Capitalize($1)) as If(IsNull($2), $1, $2);
Isaias,
Teste assim:
Thiago,
Assim ele me retorna erro dizendo que não encontrou os parâmetros $1.
Não entendi bem, você quer criar ora uma coluna e ora outra?
Quero que no "AS" ele verifique se o segundo parâmetro foi passado, caso afirmativo ele seta o nome da coluna conforme passado, caso o segundo parâmetro esteja nulo, ele setar como nome da coluna o valor passado no parâmetro um.
Ex.:
$(vMapPreposicoes("Campo 1")) -> seta o nome como "Campo 1"
$(vMapPreposicoes("Campo 1", "Campo 1 Mod")) -> seta o nome como "Campo 1 Mod"