Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenos días me surgió una duda usando esta tabla de Incomes, y otra tabla que seria cambio de moneda, en esta ultima tengo fechas que como es obvio el monto de dolar, peso y euro son variables y cambian al día, ahora lo que quisiera hacer es, tomar la fecha mas próxima para realizar el cambio correspondiente al día que se toma el monto de Income ya que en la fecha que tengo de la tabla Tipos de Cambio no existen algunos registros tengo esto:
Tipos de Cambio:
LOAD fecha as FechaID,
USD,
MN,
EURO
FROM
[..\..\QVDs Extraccion\Vs_TiposdeCambio.QVD]
(qvd);
esta tabla la uno a la final de incomes y en ella, tengo estas columnas
Facts:
LOAD
Distinct
Company,
CustomerID,
SkuID,
[Weight Total],
KamID,
IdIncome,
NumOrder,
OrderDate,
InvoiceNum,
InvoiceDate,
IDFecha,
Currency,
[Income Total],
[Invoice Qty],
[Sku Price],
[Total Invoice],
FechaID,
USD,
MN,
EURO,
IF(Currency='USD',[Income Total]*USD) AS [USD To Pesos],
IF(Currency='USD',[Income Total]*1) AS [Dollars],
IF(Currency='USD',[Income Total]/USD/EURO) AS [USD To Euros],
IF(Currency='MN',[Income Total]*1) AS [Pesos],
IF(Currency='MN',[Income Total]*USD) AS [Pesos To USD],
IF(Currency='MN',[Income Total]*EURO) AS [Pesos To Euros],
IF(Currency='EURO',[Income Total]*EURO) AS [Euros To Pesos],
IF(Currency='EURO',[Income Total]/EURO/USD) AS [Euros To USD],
IF(Currency='EURO',[Income Total]*1) AS [Euros]
resident TempFacts;
DROP Table TempFacts;
Hola Erick:
Hay varias técnicas para abordar las operaciones en divisas, la que yo utilizo es una mezcla de varias soluciones que encontré en esta comunidad y consiste en:
1) Una tabla con todos los cambios día a día, cada moneda tiene un registro por fecha y una columna por cada factor de cambio a cada una de nuestras divisas (en cada línea hay un factor de cambio consigo mismo que tiene valor 1)
LOAD KeyMoneda, EUR, USD, MXN
From ...
KeyMoneda es un cálculo con Fecha de Cambio y el idMoneda,
2) Cada tabla de hechos tiene un campo KeyMoneda con la Fecha de Operación y el idMoneda (local)
3) Cada usuario tiene asignada una divisa de trabajo
4) En cada documento hay un selector sobre el campo idMoneda con 'Siempre un valor seleccionado'
5) Un disparador 'Al abrir documento' selecciona la divisa del usuario en el campo idMoneda
6) Defino la variable vMoneda = ONLY(Moneda)
7) Cada vez que uso un campo importe en una expresión esta es la sintaxis SUM( {< ...>} Importe * $(vMoneda) )
Espero haberte ayudado
Joaquín