March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hola! Os explico mi problema con un ejemplo.
Tengo tres tablas: una de fechas, otra de empleados y otra de departamentos, y están relacionadas a través de:
Tabla dim_employee
name | current_department_id | start_date_id |
Employee 1 | 1 | 20210701 |
Employee 2 | 2 | 20210701 |
Employee 3 | 2 | 20210901 |
Employee 4 | 1 | 20220201 |
Employee 5 | 2 | 20220201 |
department | dim_department |
Purchase department | 1 |
Sales department | 2 |
num_employees_purchase_department =
CALCULATE(
DISTINCTCOUNT(dim_employee[employee_id]),
dim_employee[current_department_id]=1
AND(
start_date_id>=20220201,
start_date_id<=20220228
)
)
Sin embargo, como las tablas de dim_date y dim_employee se relacionan a través de dim_employee[start_date_id], solo obtengo las nuevas contrataciones que se producen en febrero de 2022 (una en el departamento de compras y otro en el de ventas) y no el total de personas que trabajan en cada departamento. El resultado que estoy buscando es:
Solved! Go to Solution.
En ese caso usa esta medida:
Por fecha seleccionada =
CALCULATE (
DISTINCTCOUNT ( 'Employee teable'[name] ),
FILTER (
ALL ( Dates ),
Dates[start_date_id] <= SELECTEDVALUE ( Dates[start_date_id] )
)
)
Proud to be a Super User!
Paul on Linkedin.
Si lo estoy entendiendo bien, siendo la fecha "start date" (fecha en la que inicio la actividad), la medida que necesitas el todos aquellos empleados cuya "Start date" es en o anterior al 28 de Febrero, que viene a ser:
Employees in February =
CALCULATE(DISTINCTCOUNT('Employee teable'[name]), FILTER(Dates, Dates[start_date_id] <= 20220228))
Proud to be a Super User!
Paul on Linkedin.
Tienes razón, @PaulDBrown, al escribir el post me exprese mal. Si en vez de escribir la condición del mes en la expresión DAX, quisiera utilizar un slicer para poder elegir el mes del año que quiero que se muestren los datos. ¿Cómo debería hacer para que muestre el total de empleados y no solo las nuevas incorporaciones del mes elegido?
En ese caso usa esta medida:
Por fecha seleccionada =
CALCULATE (
DISTINCTCOUNT ( 'Employee teable'[name] ),
FILTER (
ALL ( Dates ),
Dates[start_date_id] <= SELECTEDVALUE ( Dates[start_date_id] )
)
)
Proud to be a Super User!
Paul on Linkedin.
Perfecto, @PaulDBrown. Pero si para el slicer, en vez de start_date_id, quisiera utilizar la tabla de fechas dim_date, ¿cómo tendría que hacer?
(dim_date es una tabla de fechas genérica con días, semanas, meses, años, etc.)
La medida funcionará igual.
Mi modelo está así:
y el slicer es la tabla 'Dates'.
Sólo depende de lo que quieras filtrar. Si en la medida estableces la fecha en la expresión de SELECTEDVALUE(), filtrará en función de la fecha; si pones el mes/año, filtrará en función de ese periodo etc...
Proud to be a Super User!
Paul on Linkedin.
Muchas gracias!!
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
133 | |
91 | |
88 | |
64 | |
58 |
User | Count |
---|---|
201 | |
137 | |
107 | |
73 | |
68 |