Forum Discussion
Replicar esta consulta SQL en DAX
Hola a todos. Quería saber si había una manera de replicar, en mesasuras, las siguientes consultas SQL en DAX, para que se vea lo más similar posible a esto:
Medida =
var variable1 = seleccionar cliente de T1 donde first_order=True y YearMonth=202201
var variable2 = seleccionar cliente de T1 donde YearMonth=202202 y Day=1
devolución
Seleccione Count(Customer) de Variable2 donde Customer in (o no in) (Seleccione Customer de Variable1)
O
Medida =
select count(customer) de T1
donde first_order=True y YearMonth=202201 y customer in (
seleccione el cliente de T1 donde day=1 y YearMonth=202202)
Hasta ahora todo lo que he intentado hacer no ha funcionado y todo lo que encontré en Internet implica compararlo con columnas creadas en tablas, no en cierta medida 🙃.
¡Gracias!
7 Replies
- Syndicate_Admin
Administrator
Lo siguiente devolverá un recuento único de clientes.
Common Customers = VAR T1 = CALCULATETABLE ( VALUES ( 'Table'[Cutomer] ), 'Table'[first_order] = "True", 'Table'[YearMonth] = 202201 ) VAR T2 = CALCULATETABLE ( VALUES ( 'Table'[Cutomer] ), 'Table'[Day] = 1, 'Table'[YearMonth] = 202201 ) RETURN COUNTROWS ( INTERSECT ( T2, T1 ) )New Customers = VAR T1 = CALCULATETABLE ( VALUES ( 'Table'[Cutomer] ), 'Table'[first_order] = "True", 'Table'[YearMonth] = 202201 ) VAR T2 = CALCULATETABLE ( VALUES ( 'Table'[Cutomer] ), 'Table'[Day] = 1, 'Table'[YearMonth] = 202201 ) RETURN COUNTROWS ( EXCEPT ( T2, T1 ) )- Syndicate_Admin
Administrator
Funcionó, gracias! Una última pregunta, ¿hay alguna manera de "automatizar" esto? Es decir, por ejemplo, tengo doce valores de 7 años mensuales (de 202101 a 202107). Sé que si no estuviera usando un calculate, podría crear una variable que sea selectedvalue(T1[YearMonth]) y luego usarla como filtro, pero en una "calculatedtable" no funcionaría y no sé si hay una manera de emular eso.
Así que al menos, si consigo que la columna del año me reconozca, solo tengo que crear 31 variables (una por día), en lugar de 31 variables para cada año/mes/añomes
- Syndicate_Admin
Administrator
@cris1196
¿Podría explicar en detalle lo que está tratando de lograr?
- Syndicate_Admin
Administrator
La columna [first_order] es redundante.
Solo por diversión, un escaparate de la poderosa fórmula de la hoja de cálculo de Excel,