Forum Discussion
Convertir SQL a DAX : Subconsulta
- 4 years ago
Creo los siguientes datos de ejemplo.
A continuación, cree la medida:
CountID = CALCULATE ( DISTINCTCOUNT ( fact_appointment[patient_id] ), FILTER ( fact_appointment, fact_appointment[appointment_date] > DATE ( 2021, 12, 31 ) && fact_appointment[product_ID] IN { "A123", "B234", "C345" } && fact_appointment[patient_id] IN CALCULATETABLE ( VALUES ( fact_appointment_detail[patient_id] ), FILTER ( fact_appointment_detail, fact_appointment_detail[product_ID] IN { "A123", "B234", "C345" } && fact_appointment_detail[appointment_date] >= DATE ( 2021, 12, 1 ) && fact_appointment_detail[appointment_date] <= DATE ( 2021, 12, 31 ) ) ) ) )Si el problema aún no se resuelve, proporcione información detallada sobre el error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.
Saludos
Winniz
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Pruebe esta medida:
Patient Count =
CALCULATE (
DISTINCTCOUNT ( fact_appointment[patient_id] ),
fact_appointment[appointment_date] > DATE ( 2021, 12, 31 ),
fact_appointment_detail[appointment_date] >= DATE ( 2021, 12, 1 ),
fact_appointment_detail[appointment_date] <= DATE ( 2021, 12, 31 )
)
- Syndicate_Admin4 years agoAdministrator
Esta medida está devolviendo en blanco, no funciona
Además, estoy intentando agregar otro filtro en el DAX
SQL:
seleccionar recuento(distinto patient_id)
de fact_appointment
donde appointment_date > '2021-12-31' y product_ID en {'A123','B234','C345'}
y patient_id en
(
seleccionar patient_id distintos
desde fact_appointment_detail
donde appointment_date entre '2021-12-01' y '2021-12-31' y
product_ID en {'A123','B234','C345'}
)
DAX probado para esta lógica:
CALCULATE(DISTINCTCOUNT(fact_appointment[patient_id]),
Filtro(ALL(fact_appointment),(
fact_appointment[appointment_date] > MAX(fact_appointment[appointment_date]) && (
fact_appointment[procedure_code] en {"A","C","D"}))),
fact_appointment[office_patient_id] en
(DISTINTO(fact_appointment[office_patient_id])))
pero debería agregar la condición de filtro de la identificación del producto en la instrucción "IN", no puedo obtenerla.
dax debería ser como
CALCULATE(DISTINCTCOUNT(fact_appointment[patient_id]),
Filtro(ALL(fact_appointment),(
fact_appointment[appointment_date] > MAX(fact_appointment[appointment_date]) && (
fact_appointment[product_ID] en {"A123","C234","D345"}))),
fact_appointment[office_patient_id] en
(DISTINTO(fact_appointment[office_patient_id]),
fact_appointment[product_ID] en {"A123","C234","D345"}))- Syndicate_Admin4 years agoAdministrator
Creo los siguientes datos de ejemplo.
A continuación, cree la medida:
CountID = CALCULATE ( DISTINCTCOUNT ( fact_appointment[patient_id] ), FILTER ( fact_appointment, fact_appointment[appointment_date] > DATE ( 2021, 12, 31 ) && fact_appointment[product_ID] IN { "A123", "B234", "C345" } && fact_appointment[patient_id] IN CALCULATETABLE ( VALUES ( fact_appointment_detail[patient_id] ), FILTER ( fact_appointment_detail, fact_appointment_detail[product_ID] IN { "A123", "B234", "C345" } && fact_appointment_detail[appointment_date] >= DATE ( 2021, 12, 1 ) && fact_appointment_detail[appointment_date] <= DATE ( 2021, 12, 31 ) ) ) ) )Si el problema aún no se resuelve, proporcione información detallada sobre el error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.
Saludos
Winniz
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.