Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Caros possuo uma base com várias contas bancárias e com data de saldo. Esta data tenho um calendário como ano, mes, dia, ano_mes, ano_mes_dia.
Quando não selecionar nenhuma lista (ANO, MES, DIA) Necessito criar um grafico com a posição dia a dia do saldo total(somando o saldo de todas as contas) do ultimo mes.
em minha aplicacao deixei como dimensao no grafico o DIA, portanto esta somando todo dia 1, todo dia 2 e continua até dia 31.
Se tiver dificuldades, esquece DT_SALDO;
E use AI_ANO_MES_DIA que parece estar bem definido.
Altere seu script conforma abaixo:
Tab_Dados:
LOAD
AI_ANO,
AI_DIA,
AI_MES_NUM,
AI_ANO_MES,
AI_ANO_MES_DIA,
Date(Date#(AI_ANO_MES_DIA,'YYYYMMDD'),'DD/MM/YYYY') As 'DATA',
AI_MES_DIA,
AI_MES,
CD_BANCO,
CD_CONTA,
DS_BANCO,
DS_TIPO_CONTA,
DT_SALDO,
NM_ESTABELECIMENTO,
VL_SALDO_MM;
SQL SELECT ...
Na linha 18, é a continuação da sua query.
Na expressão:
Sum({<[DATA]={'>=$(=MonthStart(Max([DATA])))<=$(=MonthEnd(Max([DATA])))'} >} [VL_SALDO_MM])
Amigo, utilize set analysis na expressão;
RangeSum( Above(
Sum({<[Data]={'>=$(=MonthStart(Max([Data])))<=$(=MonthEnd(Max([Data])))'} >} [Valor])
,0,Rowno(Total)))
Altere os campos.
Se desejar via script ou obter um insight;
Incluindo saldo/acumulado via Script ou via Expressão
Mario boa tarde! Não funcionou.
A base está com estes valores
Data_Saldo Valor Ano Dia Ano_Mes Ano_Mes_Dia Mes_Dia Mes
01/01/2016 100,00 2016 1 201601 20160101 0101 01
02/01/2016 200,00 2016 1 201601 20160102 0102 01
03/01/2016 300,00 2016 1 201601 20160103 0103 01
01/01/2017 400,00 2017 1 201701 20170101 0101 01
02/01/2017 500,00 2017 1 201701 20170102 0102 01
03/01/2017 600,00 2017 1 201701 20170103 0103 01
Tenho todos os dias do mes dos anos 2016 e 2017. Preciso que ao abrir a aplicação mostre os ultimos 30 dias
Amigo segue:
Sum({<[Data_Saldo]={'>=$(=MonthStart(Max([Data_Saldo])))<=$(=MonthEnd(Max([Data_Saldo])))'} >} [Valor])
Parece que o campo [Valor] já representa o resultado com o saldo, seria então somente limitar os dados.
A dimensão é o dia então está somando todo dia 1, dia 2, dia 3 ... até dia 31
So funciona quando seleciono o ano e mes nos filtros
Amigo, pode ser qualquer dimensão na tabela;
Mas a expressão que te passei, está utilizando o campo [Data_Saldo] no set analysis e limitando a seleção para o maior mês;
Fiz um teste para verificar;
No script, criei dados baseado na sua amostra;
Tab_teste:
Load * Inline [
Data_Saldo Valor Ano Dia Ano_Mes Ano_Mes_Dia Mes_Dia Mes
01/01/2016 100,00 2016 1 201601 20160101 0101 01
02/01/2016 200,00 2016 2 201601 20160102 0102 01
03/01/2016 300,00 2016 3 201601 20160103 0103 01
01/01/2017 400,00 2017 1 201701 20170101 0101 01
02/01/2017 500,00 2017 2 201701 20170102 0102 01
03/01/2017 600,00 2017 3 201701 20170103 0103 01
](delimiter Is ' ');
Na tabela, coloquei a dimensão Dia e na Expressão:
Sum({<[Data_Saldo]={'>=$(=MonthStart(Max([Data_Saldo])))<=$(=MonthEnd(Max([Data_Saldo])))'} >} [Valor])
Resultado:
Se deseja fixar a Expressão para ignorar as seleções:
Sum({1<[Data_Saldo]={'>=$(=MonthStart(Max([Data_Saldo])))<=$(=MonthEnd(Max([Data_Saldo])))'} >} [Valor])
Veja os anexos.
Qual anexo?
Segue