Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
Lo deseado:
La expresion que uso para esa columna es
Sum({<ValueBase1, Name={"Capital a vencer"}>} [ValueBase1])
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.
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.
[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`;
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.