Forum Discussion

Cipriano's avatar
Cipriano
Icon for Helper III rankHelper III
3 years ago
Solved

Filtrar un resultado mediante Rango de FECHAS

Buenas tardes a todos, 

1.- Tengo una primera tabla que es lo programado a ventas, y una 2da tabla que es lo real vendido.

2.-La cantidad programada a ventas esta delimitada por una fecha de inicio y una fecha de fin, por lo que para un mismo producto en diferentes periodos existen diferentes cantidades programadas a venta:

 

tblPROGRAMA     
ID_programaid_Instalacionid_productostart_dateend_dateventa_programa
1AA.101-ene-2230-jun-225
2AA.101-jul-2231-dic-2210
3AA.201-ene-2231-dic-2212
4BB.101-ene-2231-dic-225
5CC.101-ene-2231-dic-228

 

3.- En la tabal Ventas los registros tienen una fecha, 

 

tblVENTAS    
ID_consumofk_instalacionfk_productodateventa_real
1AA.101-ene-222
2AA.102-ene-225
3AA.103-ene-224
4AA.104-ene-2210
5AA.105-ene-226
6AA.101-jul-2274
7AA.102-jul-2211
8AA.103-jul-2212
9AA.104-jul-2213
10AA.105-jul-229

 

4.- Mediante la fecha de venta quisiera obtener de la tabla Programa, el valor de venta_programa.  Para lo cual seria necesario :

(Programa.start_date >= Venta.date) AND (Programa.end_date <= Venta.date)

 

tablaVISUALIZACIÓN

ID_consumofk_instalacionfk_productodateventa_realventa_programa
1AA.101-ene-2225
2AA.102-ene-2255
3AA.103-ene-2245
4AA.104-ene-22105
5AA.105-ene-2265
6AA.101-jul-227410
7AA.102-jul-221110
8AA.103-jul-221210
9AA.104-jul-221310
10AA.105-jul-22910

 

 

5.- Intente utilizar: 

ventaProgramada = SUMX(Ventas,
                                LOOKUPVALUE(Programa[venta_programa],
                                Programa[id_Instalacion], Ventas[fk_instalacion],
                                Programa[id_producto], Ventas[fk_producto]))
 
Pero no se como colocar la condicion de filtrado de fechas.
 
De antemano muchas gracias por su apoyo.

 

  • Cipriano's avatar
    Cipriano
    3 years ago

    Estaban invertidas las tablas, muchas gracias por el apoyo!

     

    ventaProgramada =
                        SUMX(   FILTER(Programa,
                                    Ventas[fk_instalacion] = Programa[id_Instalacion] &&
                                    Programa[id_producto]= Ventas[fk_producto] &&
                                    Ventas[date]>= Programa[start_date] &&
                                    Ventas[date]<= Programa[end_date] ),
                                Programa[venta_programa])

5 Replies

    • Cipriano's avatar
      Cipriano
      Icon for Helper III rankHelper III

      Estaban invertidas las tablas, muchas gracias por el apoyo!

       

      ventaProgramada =
                          SUMX(   FILTER(Programa,
                                      Ventas[fk_instalacion] = Programa[id_Instalacion] &&
                                      Programa[id_producto]= Ventas[fk_producto] &&
                                      Ventas[date]>= Programa[start_date] &&
                                      Ventas[date]<= Programa[end_date] ),
                                  Programa[venta_programa])
  • v-zhangti's avatar
    v-zhangti
    Icon for Community Support rankCommunity Support

    Hi, Cipriano 

     

    You can try the following methods.

    Column = 
    CALCULATE (
        MAX ( tblPROGRAMA[venta_programa] ),
        FILTER (
            tblPROGRAMA,
            [id_producto] = EARLIER ( tblVENTAS[fk_producto] )
                && [start_date] = EARLIER ( tblVENTAS[date] )
        )
    )
    venta_programa = MAXX(FILTER(tblVENTAS,[date]<=EARLIER(tblVENTAS[date])),[Column])

    Is this the result you expect?

    Best Regards,

    Community Support Team _Charlotte

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

    • Cipriano's avatar
      Cipriano
      Icon for Helper III rankHelper III

      Hola, la solución funciona de forma parcial, ya que al manejar mas instalaciones y productos deja de funcionar.

      Tabla Programa:

      PROGRAMA     
      ID_programaid_Instalacionid_productostart_dateend_dateventa_programa
      1AA.101-ene-2230-jun-225
      2AA.101-jul-2231-dic-2210
      3AA.201-ene-2231-dic-2212
      4BB.101-ene-2231-dic-225
      5CC.101-ene-2231-dic-228

       

      Tabla Ventas:

      VENTAS    
      ID_consumofk_instalacionfk_productodateventa_real
      1AA.101/01/20222
      2AA.102/01/20225
      3AA.103/01/20224
      4AA.104/01/202210
      5AA.105/01/20226
      6AA.101/07/202274
      7AA.102/07/202211
      8AA.103/07/202212
      9AA.104/07/202213
      10AA.105/07/20229
      11AA.201/01/20226
      12BB.102/01/202274
      13CC.103/01/202211
      14AA.204/01/20226
      15BB.105/01/202274
      16CC.105/07/202211

       

      Resultado esperado:

       

      VENTAS     
      ID_consumofk_instalacionfk_productodateventa_realventa_programa
      1AA.101/01/202225
      2AA.102/01/202255
      3AA.103/01/202245
      4AA.104/01/2022105
      5AA.105/01/202265
      6AA.101/07/20227410
      7AA.102/07/20221110
      8AA.103/07/20221210
      9AA.104/07/20221310
      10AA.105/07/2022910
      11AA.201/01/2022612
      12BB.102/01/2022745
      13CC.103/01/2022118
      14AA.204/01/2022612
      15BB.105/01/2022745
      16CC.105/07/2022118

       

       

      Anexo el archivo trabajado: https://drive.google.com/file/d/1kE_0SFtNiD_zWG_IbwgPRS_MANhS1sYG/view?usp=sharing