Obrigado Juan Carlos
Funcionou perfeitamente
Saudações
Avalados por :
Olá a todos
Temos esta consulta que gentilmente me passaram algum tempo atrás, onde me traz os dados do relatório nativo de SAP de perdas e ganhos. Ele nos mostra à direita os meses e em colunas os centros de custo, mas gostaríamos ao contrário, que nas colunas à direita apareçam os centros de custo e possamos escolher o mês e o ano. Alguém poderia nos dizer como seria? Obrigado pela ajuda, cumprimentos.
DECLARE @ANIO SMALLINT
SET @ANIO = (SELECT A.Year FROM dbo.OACP A WHERE A.Year='[%0]')
SELECT
P.[Cuenta],
P.[Nombre],
P.[CCosto],
[1] as [Jan],
[2] as [Fev],
[3] as [Mar],
[4] as [Abr],
[5] as [Mai],
[6] as [Jun],
[7] as [Jul],
[8] as [Ago],
[9] as [Set],
[10] as [Out],
[11] as [Nov],
[12] as [Dez]
FROM (
SELECT
T1.FormatCode AS Cuenta,
T1.AcctName AS Nombre,
T2.PrcName AS CCosto,
MONTH(T0.RefDate)'Month',
SUM(T0.Credit-T0.Debit)'CargoAbono'
FROM dbo.JDT1 T0
INNER JOIN dbo.OACT T1 ON T1.AcctCode=T0.Account
LEFT JOIN dbo.OPRC T2 ON T2.PrcCode=T0.ProfitCode
WHERE YEAR(T0.RefDate)=@ANIO AND T1.GroupMask BETWEEN 1 AND 8
GROUP BY T1.FormatCode, T1.AcctName, T2.PrcName,MONTH(T0.RefDate)
) P
PIVOT (
SUM(CargoAbono)
FOR [Month] IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])
) P
ORDER BY P.[Cuenta], P.[CCosto]
Obrigado Juan Carlos
Funcionou perfeitamente
Saudações
É quando um centro de custo não foi selecionado... Você pode alterar o @ por outro texto (Sem CC, A definir, etc), fazendo isso na linha 7 da query que eu te passei.
Juan Carlos
Obrigado pelo seu contributo, ao revisar, a que se refere a coluna @ esses dados?
Saudações
Victor, tente isso:
declare @CentroCusto como varchar(max)
declare @Consulta como varchar(max)
DECLARE @ANO nvarchar(4)
declare @Mes nvarchar(2)
SET @ANO = (SELECT A.Year FROM dbo.OACP A WHERE A.Year='[%0]')
SET @Mes = (select top 1 B.SubNum from dbo.OFPR B WHERE B.SubNum='[%1]')
set @CentroCusto= STUFF((Select distinct '],['span class="token punctuation">(+ isnull(T2.PrcName,'@') FROM dbo.JDT1 T0
INNER JOIN dbo.OACT T1 ON T1.AcctCode=T0.Account
LEFT JOIN dbo.OPRC T2 ON T2.PrcCode=T0.ProfitCode
WHERE YEAR(T0.RefDate)=@ANO e month(T0.RefDate) = 2 E T1.GroupMask ENTRE 1 E 8
GRUPO POR T1.FormatCode, T1.AcctName, T2.PrcName PARA XML CAMINHO('')),1,2,'') +']'
set @Consulta='selecionar * de (
selecionar T1.FormatCode COMO Conta, T1.AcctName COMO Nome, isnull(T2.PrcName,''@'') COMO CCusto, SOMA(T0.Credit-T0.Debit) [CargoAbono]
DE dbo.JDT1 T0
INNER JOIN dbo.OACT T1 ON T1.AcctCode=T0.Account
LEFT JOIN dbo
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute