Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register 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! Prices go up Feb. 11th.
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.
User | Count |
---|---|
143 | |
85 | |
66 | |
51 | |
45 |
User | Count |
---|---|
217 | |
89 | |
82 | |
66 | |
57 |