Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia Srs,
Estou tendo uma certa dificuldade em gerar um gráfico onde nele teria que possuir 3 colunas, 1 da quantidade em peso da matéria prima que chegou, a outra a quantidade que foi pedida e a terceira com a quantidade de saída.
Até o momento, consegui colocar normalmente a da chegada e a pedida, mas a de saída estou tendo dificuldades, pois usei como dimensão do gráfico MonthNames([DatadeRecebimento]). A DatadeRecebimento é um campo na tabela. Então foi só fazer Sum(Peso).
Meu problema é que a quantidade de saída é verificada na mesma tabela, mas levando em consideração outro campo de data chamado DatadeBritagem.
E como usei a DatadeRecebimento como dimensão, não sei como faço para agrupar nessa mesma dimensão o Peso, mas agrupar por esta segunda data.
Ex
Produto | Lote | DatadeEntrada | Peso | DatadeBritagem |
---|---|---|---|---|
Produto1 | 00033 | 25/12/2016 | 25000 | 02/01/2017 |
Produto2 | 00047 | 26/12/2016 | 14000 | 02/01/2017 |
Neste caso, a coluna de recebimento no gráfico sairia com 39000 em dezembro, mas a coluna com a saída deveria sair em janeiro.
Se alguém puder me ajudar, agradeço.
Alguém?
Vejo como alternativa, ajustar no script para resolver a questão das datas;
Tabela1:
LOAD
ID,
Produto,
Lote,
DatadeEntrada as 'Data Movimento',
Peso,
DatadeBritagem,
'Entrada' as 'Tipo Movimento'
FROM [lib://REPOSITORIO/Tabela1.QVD] (qvd);
Concatenate(Tabela1); //Mesmo ausentando, o sistema irá entender implicitamente pois as duas tabelas são iguais, recomendo ressaltar para futuras manutenções
Tabela2:
LOAD
ID,
Produto,
Lote,
DatadeSaida as 'Data Movimento',
Peso,
DatadeBritagem,
'Saída' as 'Tipo Movimento'
FROM [lib://REPOSITORIO/Tabela2.QVD] (qvd);
Obs.; Foi utilizado o padrão de pastas do Qlik Sense, mas se for Qlikview, poderá substituir para o padrão absoluto de endereçamento de pasta.
Bom dia Mario.
Não sei se daria certo pois estou usando left join em duas tabelas já:
[Tabela_Registro Geral de Pedra ]:
LOAD [Organização (Apelido)] &'-'& [Matéria Prima] &'-'& [Fornecedor] &'-'& year(date([Data de Recebimento],'DD/MM/YYYY')) &'.'& num(Month(date([Data de Recebimento],'DD/MM/YYYY')),'00') as PK_QUOTA,
[Organização (Apelido)],
[Matéria Prima],
[Fornecedor],
[Frente],
[Viagem nº],
[Data de Recebimento],
num(Month(date([Data de Recebimento],'DD/MM/YYYY')),'00') as DimensaoMes,
num(year(date([Data de Recebimento],'DD/MM/YYYY'))) as DimensaoAno,
[CaCO3],
[MgCO3],
[SiO2],
[R2O3],
[Peso],
[Situação],
[INC],
[Status],
[Data de Britagem],
[Fe2O3 (%)],
[Al2O3 (%)],
[MnO (%)],
[Na2O (%)],
[K2O (%)],
[P2O5 (%)],
[TiO2 (%)],
[SrO (%)],
[Fechamento Químico (%)]
FROM [REPOSITORIO/Tabela_Registro Geral de Pedra Marroada.xlsx]
(ooxml, embedded labels, table is [Tabela_Registro Geral de Pedra ]);
Left Join
[Tabela_de Controle de Quota1]:
LOAD [Organização (Apelido)] &'-'& [Matéria Prima] &'-'& [Fornecedor] &'-'& [Ano] &'.'& num([Mês], '00') as PK_QUOTA,
[Ano],
[Mês],
[Quota Mensal]
FROM [REPOSITORIO/Tabela_de Controle de Quota1.xlsx]
(ooxml, embedded labels, table is [Tabela_de Controle de Quota1]);
Neste caso, quando é executado um Left Join, a tabela [Tabela_de Controle de Quota1] desaparece no modelo de dados e assumirá tudo em [Tabela_Registro Geral de Pedra ], tornando em uma só tabela. Então poderá usar a lógica que mencionei.
Exemplo:
Tabela1:
LOAD
ID,
Produto,
Lote,
DatadeEntrada as 'Data Movimento',
Peso,
DatadeBritagem
FROM [lib://REPOSITORIO/Tabela1.QVD] (qvd);
Left Join
Tabela3: //desaparecerá, pois juntou com Tabela1.ID <= Tabela3.ID para a tabela Tabela1
ID,
'Entrada' as 'Tipo Movimento'
FROM [lib://REPOSITORIO/Tabela1.QVD] (qvd);
Concatenate(Tabela1); //Mesmo ausentando, o sistema irá entender implicitamente pois as duas tabelas são iguais, recomendo ressaltar para futuras manutenções
Tabela2:
LOAD
ID,
Produto,
Lote,
DatadeSaida as 'Data Movimento',
Peso,
DatadeBritagem,
'Saída' as 'Tipo Movimento'
FROM [lib://REPOSITORIO/Tabela2.QVD] (qvd);
Tabela3 assumirá neste exemplo Tabela1, pois ouve uma junção antes.
Amigo, conseguiu resolver?
Bom dia,
Não, deu erro desconhecido no Concatenate, talvez eu tenha colocado algum campo errado.
No exemplo que me deu, na Tabela1 há os campos DatadeEntrada e DatadeBritagem que são os campos que coloquei na tabela de exemplo.
Já na Tabela2 tem o campo DatadeSaida, mas esse campo não existe na minha tabela de exemplo, esta correto isso?
Amigo, veja se atende, adaptei no seu modelo:
[Tabela_Registro_Geral_de_Pedra]:
LOAD [Organização (Apelido)] &'-'& [Matéria Prima] &'-'& [Fornecedor] &'-'& year(date([Data de Recebimento],'DD/MM/YYYY')) &'.'& num(Month(date([Data de Recebimento],'DD/MM/YYYY')),'00') as PK_QUOTA,
[Organização (Apelido)],
[Matéria Prima],
[Fornecedor],
[Frente],
[Viagem nº],
[Data de Recebimento] as DataMovimento,
num(Month(date([Data de Recebimento],'DD/MM/YYYY')),'00') as DimensaoMes,
num(year(date([Data de Recebimento],'DD/MM/YYYY'))) as DimensaoAno,
[CaCO3],
[MgCO3],
[SiO2],
[R2O3],
[Peso],
[Situação],
[INC],
[Status],
[Fe2O3 (%)],
[Al2O3 (%)],
[MnO (%)],
[Na2O (%)],
[K2O (%)],
[P2O5 (%)],
[TiO2 (%)],
[SrO (%)],
[Fechamento Químico (%)],
'DataRecebimento' as Tipo Movimento
FROM [REPOSITORIO/Tabela_Registro Geral de Pedra Marroada.xlsx]
(ooxml, embedded labels, table is [Tabela_Registro Geral de Pedra ]);
Concatenate(Tabela_Registro_Geral_de_Pedra);
[Tabela_Registro_Geral_de_Pedra_DtBritagem]:
LOAD [Organização (Apelido)] &'-'& [Matéria Prima] &'-'& [Fornecedor] &'-'& year(date([Data de Recebimento],'DD/MM/YYYY')) &'.'& num(Month(date([Data de Recebimento],'DD/MM/YYYY')),'00') as PK_QUOTA,
[Organização (Apelido)],
[Matéria Prima],
[Fornecedor],
[Frente],
[Viagem nº],
[Data de Britagem] as DataMovimento,
num(Month(date([Data de Britagem],'DD/MM/YYYY')),'00') as DimensaoMes,
num(year(date([Data de Britagem],'DD/MM/YYYY'))) as DimensaoAno,
[CaCO3],
[MgCO3],
[SiO2],
[R2O3],
[Peso],
[Situação],
[INC],
[Status],
[Fe2O3 (%)],
[Al2O3 (%)],
[MnO (%)],
[Na2O (%)],
[K2O (%)],
[P2O5 (%)],
[TiO2 (%)],
[SrO (%)],
[Fechamento Químico (%)],
'DataBritagem' as Tipo Movimento
FROM [REPOSITORIO/Tabela_Registro Geral de Pedra Marroada.xlsx]
(ooxml, embedded labels, table is [Tabela_Registro Geral de Pedra ]);
[Tabela_de Controle de Quota1]:
LOAD [Organização (Apelido)] &'-'& [Matéria Prima] &'-'& [Fornecedor] &'-'& [Ano] &'.'& num([Mês], '00') as PK_QUOTA,
[Ano],
[Mês],
[Quota Mensal]
FROM [REPOSITORIO/Tabela_de Controle de Quota1.xlsx]
(ooxml, embedded labels, table is [Tabela_de Controle de Quota1]);
Neste modelo, o campo [Data de Recebimento] é a principal, onde relacionará com a data de Britagem, por conta de como montou as chaves, caso queira o inverso, só alterar os campos [Data de Recebimento] para [Data de Recebimento] nas chaves PK_QUOTA;
Com Set Analysis, poderá colocar algo tipo Sum({<[Tipo Movimento]={'DataBritagem'}>}Peso)
Perceba que aumentará sua massa de dados, mas parece que este não será seu problema, já que você está utilizando como fonte de dados um arquivo xlsx;
Caso fosse banco de dados com grande volume, recomendaria uma outra estratégica para minimizar os volumes, removendo campos que não agregam valores e utilizando outro modelo.
Abraço
Mario,
Mas na realidade, a de britagem eu precisaria somente da data, peso e do tipo de movimento.
Acha que precisa ser feita a ligação com a tabela de quota?
Fiz dessa forma, mas está dando erro no Concatenate:
[Tabela_Pedra]:
LOAD [Matéria Prima] &'-'& [Fornecedor] &'-'& year(date([Data de Recebimento],'DD/MM/YYYY')) &'.'& num(Month(date([Data de Recebimento],'DD/MM/YYYY')),'00') as PK_QUOTA,
[Organização (Apelido)],
[Matéria Prima],
[Fornecedor],
[Frente],
[Viagem nº],
[Data de Recebimento] as DataMovimento,
num(Month(date([Data de Recebimento],'DD/MM/YYYY')),'00') as DimensaoMes,
num(year(date([Data de Recebimento],'DD/MM/YYYY'))) as DimensaoAno,
[CaCO3],
[MgCO3],
[SiO2],
[R2O3],
[Peso],
[Situação],
[INC],
[Status],
[Fe2O3 (%)],
[Al2O3 (%)],
[MnO (%)],
[Na2O (%)],
[K2O (%)],
[P2O5 (%)],
[TiO2 (%)],
[SrO (%)],
[Fechamento Químico (%)],
'DataRecebimento' as TipoMovimento
FROM [lib://qlikid_thiagolr/Tabela_Registro Geral de Pedra Marroada.xlsx]
(ooxml, embedded labels, table is [Tabela_Registro Geral de Pedra ]);
Left Join
[Tabela_Quota1]:
LOAD [Matéria Prima] &'-'& [Fornecedor] &'-'& [Ano] &'.'& num([Mês], '00') as PK_QUOTA,
[Ano],
[Mês],
[Quota Mensal]
FROM [lib://qlikid_thiagolr/Tabela_de Controle de Quota1.xlsx]
(ooxml, embedded labels, table is [Tabela_de Controle de Quota1]);
Concatenate(Tabela_Pedra);
[Tabela_Britagem]:
LOAD [Matéria Prima] &'-'& [Fornecedor] &'-'& year(date([Data de Recebimento],'DD/MM/YYYY')) &'.'& num(Month(date([Data de Recebimento],'DD/MM/YYYY')),'00') as PK_QUOTA,
[Organização (Apelido)],
[Matéria Prima],
[Fornecedor],
[Frente],
[Viagem nº],
[Data de Britagem] as DataMovimento,
num(Month(date([Data de Recebimento],'DD/MM/YYYY')),'00') as DimensaoMes,
num(year(date([Data de Recebimento],'DD/MM/YYYY'))) as DimensaoAno,
[CaCO3],
[MgCO3],
[SiO2],
[R2O3],
[Peso],
[Situação],
[INC],
[Status],
'DataBritagem' as TipoMovimento
FROM [lib://qlikid_thiagolr/Tabela_Registro Geral de Pedra Marroada.xlsx]
(ooxml, embedded labels, table is [Tabela_Registro Geral de Pedra ]);