Forum Discussion
Consulta SQL a DAX
Hola a todos
Necesito ayuda para convertir una consulta SQL a DAX con un ligero cambio.
La siguiente consulta me dará lo que necesito para el mes de abril, pero lo que necesito es que mi DAX sea dinámico en función del mes seleccionado.
Por lo tanto, si mi mes actual es marzo, por ejemplo, el DAX debe darme reservas para la fecha de reserva entre 20210301 y 20210330 y donde la fecha de cancelación no está entre 20210301 y 20210330 y la fecha de caducidad no está entre 20210301 y 20210330. Y del mismo modo si se selecciona cualquier otro mes. Espero que esto tenga sentido!
Gracias por su ayuda!
@Kartiklal03
Los modifiqué:Bookings = var __startdate = min( 'Calendar'[Date Key] ) var __enddate = max( 'Calendar'[Date Key] ) return CALCULATE ( DISTINCTCOUNT ( Booking[Booking Number] ), FILTER( ALL(Booking), Booking[Booking Date] >= __startdate && Booking[Booking Date] <= __enddate && OR( NOT( Booking[Cancellation Date] >= __startdate && Booking[Cancellation Date] <= __enddate ), ISBLANK( Booking[Cancellation Date] ) ) && OR( NOT( Booking[Expiry Date] >= __startdate && Booking[Expiry Date] <= __enddate ), ISBLANK( Booking[Expiry Date] ) ) ), Booking[Channel Name] = "Internet"&& Booking[Original Booking Status] IN {"Firm", "Normal", "Requested", "OP"} )Revenue = var __startdate = min( 'Calendar'[Date Key] ) var __enddate = max( 'Calendar'[Date Key] ) return CALCULATE ( sum ( Booking[Booking Price EUR] ), FILTER( ALL(Booking), Booking[Booking Date] >= __startdate && Booking[Booking Date] <= __enddate && OR( NOT( Booking[Cancellation Date] >= __startdate && Booking[Cancellation Date] <= __enddate ), ISBLANK( Booking[Cancellation Date] ) ) && OR( NOT( Booking[Expiry Date] >= __startdate && Booking[Expiry Date] <= __enddate ), ISBLANK( Booking[Expiry Date] ) ) ), Booking[Channel Name] = "Internet"&& Booking[Original Booking Status] IN {"Firm", "Normal", "Requested", "OP"} )
11 Replies
- Syndicate_AdminAdministrator
@Kartiklal03
Hola, inserte una segmentación de datos en el informe e incluya la fecha de reserva y filtre a abril. A continuación, agregue las dos medidas siguientes:Bookings = var __startdate = min( 'Calendar'[Date Key] ) var __enddate = max( 'Calendar'[Date Key] ) return CALCULATE ( DISTINCTCOUNT ( Booking[Booking Number] ), FILTER( ALL(Booking), Booking[Booking Date] >= __startdate && Booking[Booking Date] <= __enddate && NOT( Booking[Cancellation Date] >= __startdate && Booking[Cancellation Date] <= __enddate ) && NOT( Booking[Expiry Date] >= __startdate && Booking[Expiry Date] <= __enddate ) ), Booking[Channel Name] = "Internet"&& Booking[Original Booking Status] IN {"Firm", "Normal", "Requested", "OP"} )Revenue = var __startdate = min( 'Calendar'[Date Key] ) var __enddate = max( 'Calendar'[Date Key] ) return CALCULATE ( SUM( Booking[Booking Price EUR] ), FILTER( ALL(Booking), Booking[Booking Date] >= __startdate && Booking[Booking Date] <= __enddate && NOT( Booking[Cancellation Date] >= __startdate && Booking[Cancellation Date] <= __enddate ) && NOT( Booking[Expiry Date] >= __startdate && Booking[Expiry Date] <= __enddate ) ), Booking[Channel Name] = "Internet"&& Booking[Original Booking Status] IN {"Firm", "Normal", "Requested", "OP"} )- Syndicate_AdminAdministrator
No @Fowmy,
Gracias por su respuesta, pero no creo que me dará lo que estoy buscando.
Necesito poder mostrar mis datos para cada mes calendario en el año, similar a la captura de pantalla a continuación.
- Syndicate_AdminAdministrator
@Kartiklal03
Debe proporcionar más información sobre el modelo y cómo desea visualizarlo. ¿Tienes una tabla de calendario?
Mejor, comparta un archivo PBIX de ejemplo.