Skip to main content
Announcements
Qlik Introduces a New Era of Visualization! READ ALL ABOUT IT
cancel
Showing results for 
Search instead for 
Did you mean: 
ShirSandoval
Creator
Creator

SUMA AGRUPADA POR DIMENSION

Buen día comunidad,

Tengo el siguiente problema,  al armar la tabla 1 en Qlik, agrego la columna Capital o Capital a vencer y se me repite el mismo monto para cada fila (InstallNr) que exista. 

Espero haberme explicado y alguien me pueda ayudar. Gracias.

1. 

ShirSandoval_1-1633624330910.png

Lo deseado:

ShirSandoval_2-1633624358306.png

 

 

 

 

Labels (2)
4 Replies
ShirSandoval
Creator
Creator
Author

La expresion que uso para esa columna es 

Sum({<ValueBase1, Name={"Capital a vencer"}>} [ValueBase1])

rubenmarin

Hola, parece que el InstallNr no está relacionado con el Invoice.SerNr, se tendría que revisar el modelo de datos y las relaciones entre campos ver de donde viene cada uno y si tiene 2 campos que se llamen igual para poder hacer la relación.

También puede ser que se esté haciendo un join sin campos que tengan el mismo nombre y esté creando un producto cartesiano, podrías poner la parte del script que crea estos campos.

Saludos.

ShirSandoval
Creator
Creator
Author

Hola Ruben, Si, es asi como dices de hecho uno de los problemas que tuve fueron las relaciones que hice entre las tablas.

En la tabla Invoice tengo el InstallNr pero en la Tabla NLTRow los montos son registrados generando un masterID. La asociacion la hago con el numero de contrato.

No se si me explico. 

ShirSandoval_0-1633718351173.png

 

 

 

[NLTRow1:
LOAD
[NLTRow.internalId],
[internalId-masterId],
[rowNr],
[Account-Code],
[NLTRow.Comment],
[ValueBase1],
[ValueBase1d],
[ValueBase1h],
[ValueBase2],
[ValueBase2d],
[ValueBase2h],
[ValueCur],
[VATCode],
[Currency],
[Reconciliation],
[BaseRate],
[CurrencyRate],
[NLTRow.Labels],
[rowId],
[InvalidRow],
[TransRef],
[AutoGenerated],
[AuxiliaryTable],
[RealizedGain],
[NLTRow.OriginType],
Mid([NLTRow.Labels],Index([NLTRow.Labels],'PRES')+4,9) AS [N_Contract_invoice-NLTR]
RESIDENT [NLTRow1];

DROP TABLE [NLTRow1];
RENAME TABLE [NLTRow1] to [NLTRow1];

LIB CONNECT TO [raplan.saas.la];

[Invoice]:
LOAD
[internalId] AS [internalId-internalId],
[SerNr] AS [Invoice.SerNr],
[TransDate] AS [Invoice.TransDate],
[Status] AS [Invoice.Status],
[CustCode] AS [Invoice.CustCode],
[CustName] AS [Invoice.CustName],
[InvoiceDate] AS [Invoice.InvoiceDate],
[DueDate],
[PayTerm] AS [Invoice.PayTerm],
[OriginNr] AS [N_Contract_invoice-NLTR],
[Labels] AS [Invoice.Labels],
[Comment] AS [Invoice.Comment],
[Installments],
[TotalTax],
[VatTotal],
[Total],
[SubTotal],
[Saldo],
[OfficialSerNr] AS [Invoice.OfficialSerNr],
[ToSerNr] AS [Invoice.ToSerNr],
[InstallNr],
[SONr],
[OriginRowNr] AS [Invoice.OriginRowNr],
[DelSerNr],
[OfficialSerNr2],
[SecuencialOfficialNr],
'CARFI' AS [SOURCE];
SQL SELECT `internalId`,
`SerNr`,
`TransDate`,
`Status`,
`CustCode`,
`CustName`,
`InvoiceDate`,
`DueDate`,
`PayTerm`,
`OriginNr`,
`Labels`,
`Comment`,
`Installments`,
`TotalTax`,
`VatTotal`,
`Total`,
`SubTotal`,
`Saldo`,
`OfficialSerNr`,
`ToSerNr`,
`InstallNr`,
`SONr`,
`OriginRowNr`,
`DelSerNr`,
`OfficialSerNr2`,
`SecuencialOfficialNr`
FROM `carfi`.`Invoice`;

 

rubenmarin

Hola, debería hacer la relación de forma que se relacione a nivel de línea, no de cabecera, para que cada línea muestre sus datos.

A veces es necesario crear una lave compuesta con nº de cabecera y nº de línea como: LOAD NumFactura &'_'& NumLineaFactura as IdLineaFactura ...

También se pude hacer una tabla de mapeo para llevar el importe de una tabla a la otra, pero en este caso también tienes que saber a qué línea corresponde cada importe.

Para ambos casos se necesita saber qué campo de la tabla NLTRow es el que dice a qué valor de SerNr o IstallNr corresponde en la tabla Invoice.

Saludos.