Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

CAMBIAR DAX A SQL

Hola necesito pasar de codigo dax a sql lo siguiente:

LastPhaseStatusFiltered ?
VAR maxDate ?
CALCULATE ( MAX ( 'Ventas'[DateTime] ), ALLSELECTED ( 'Ventas'[DateTime] ) )
devolución
CALCULATE ( MIN ( 'Ventas'[PhaseStatus] ), 'Ventas'[DateTime] á maxDate )
Alguien me podria ayudar.
  • MFelix's avatar
    MFelix
    5 years ago

    Hola @Carlos95 ,

    No soy un experto en SQL, pero para mi conocimiento es necesario tener una selección como filtro o similar para obtener los datos por lo que necesitaría algo similar a:

    Select
       MIN (table1.PhaseStatus),
       table1.DateTime 
    From
       'Ventas' as table1 
    Where
       table1.dtmData = 
       (
          Select
             mAX ( table2.DateTime) as datemax 
          from
             'Ventas' table2 
       )
    group by
       table1.DateTime

    Tenga en cuenta que allselected es una forma de obtener datos filtrados en DAX, por lo que si necesita filtrar la información que necesita para tener valores para él.

    Esta tabla solo le dará un valor único porque está recogiendo la fecha máxima de la tabla y devolviendo el valor mínimo para esa fecha si desea el valor mínimo para todas las fechas de la tabla debe usar el siguiente SQL:

    Select
       MIN (table1.PhaseStatus),
       table1.DateTime 
    From
       'Ventas' as table1 
    group by
       table1.DateTime

    Esto devolverá una tabla con todas las fechas y para cada una el valor mínimo.

    @Greg_Deckler 👍 no soy un experto en SQL probablemente hay algunos gurús en el foro, pero puedo hacer mi camino alrededor de él, gracias por el grito.

3 Replies

    • MFelix's avatar
      MFelix
      Super User

      Hola @Carlos95 ,

      No soy un experto en SQL, pero para mi conocimiento es necesario tener una selección como filtro o similar para obtener los datos por lo que necesitaría algo similar a:

      Select
         MIN (table1.PhaseStatus),
         table1.DateTime 
      From
         'Ventas' as table1 
      Where
         table1.dtmData = 
         (
            Select
               mAX ( table2.DateTime) as datemax 
            from
               'Ventas' table2 
         )
      group by
         table1.DateTime

      Tenga en cuenta que allselected es una forma de obtener datos filtrados en DAX, por lo que si necesita filtrar la información que necesita para tener valores para él.

      Esta tabla solo le dará un valor único porque está recogiendo la fecha máxima de la tabla y devolviendo el valor mínimo para esa fecha si desea el valor mínimo para todas las fechas de la tabla debe usar el siguiente SQL:

      Select
         MIN (table1.PhaseStatus),
         table1.DateTime 
      From
         'Ventas' as table1 
      group by
         table1.DateTime

      Esto devolverá una tabla con todas las fechas y para cada una el valor mínimo.

      @Greg_Deckler 👍 no soy un experto en SQL probablemente hay algunos gurús en el foro, pero puedo hacer mi camino alrededor de él, gracias por el grito.