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
Estoy tratando de crear una columna calculada usando la función DAX Calcular.
Quiero que todas mis filas tengan el mismo valor que se calculó con la función CALCULATE.
Quiero que todas las filas de esta columna FiscalWeek se completen con el resultado de la función CALCULATE.
Cuando uso este código, solo rellena una fila. Quiero que ese valor esté en todas las filas.
Gracias por su ayuda de antemano
Hola @mirzo
DAX funciona de forma un poco diferente en las columnas calculadas debido al contexto de fila. Al usar DAX en una medida, debe tener más en cuenta su contexto de filtro. El contexto de fila le permite hacer referencia a una columna "desnuda" de una fila sin una función de agregación, ya que DAX conoce la fila y la columna a las que se refiere.
Cuando se usa en una columna calculada, la función Calcular tiene un comportamiento interesante, "convierte" el valor de cada fila en un contexto de filtro para el cálculo. En su caso, para la primera fila, esto crea un contexto de filtro de rDate = -2, dayOfWeek = 0, ... etc. Por lo tanto, para obtener el mismo valor para cada fila, primero debe borrar el contexto de filtro relevante en la función Calcular.
Algo así como:
thisFiscalWeek = CALCULAR(MÁXIMO('Jerarquía de fechas'[fiscalWeek]), ALL('Jerarquía de fechas'), 'Jerarquía de fechas'[rFecha] = 0)
Por lo general (dependiendo del uso que se haga de la columna) suele ser mejor utilizar una medida en lugar de la columna calculada.
Estas referencias pueden ser útiles:
¡Muchas gracias por explicarlo a fondo!
Hola, @mirzo
En la columna calculada, solo se muestra un 4 y los demás están en blanco. La razón es: rdate=0 tiene un solo elemento. Puede mejorar esta expresión DAX mediante la función IF. Capturé algunos de los datos en su captura de pantalla:
thisFiscalWeek = IF('Date Hierarchy'[rDate]=0,CALCULATE(MAX('Date Hierarchy'[fiscalWeek])),
CALCULATE(MAX('Date Hierarchy'[fiscalWeek]),'Date Hierarchy'[rDate]))
Los resultados son los siguientes:
Si la expresión DAX anterior te ayuda, sería genial.
Cómo obtener respuestas rápidas a tu pregunta
Si no ayuda, proporcione más detalles con la salida deseada y el archivo pbix sin información de privacidad (o algunos datos de muestra).
Saludos
Jianpeng Li
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
¡Gracias por su ayuda! Creo que cometí un error al explicar mi objetivo inicialmente. Debajo de la tabla está lo que estoy tratando de lograr. Cuando rDate es 0 (lo que significa que la fecha es hoy), quiero que cada fila de esta columna de la semana fiscal se rellene con el mismo valor, con el valor correspondiente de fiscalWeek cuando rDate es 0.
En mi caso, a continuación es fiscalWeek = 4, por lo que esta columna FiscalWeek debe tener el valor 4 en cada celda y cambiar dinámicamente cuando cambia la fecha. Por ejemplo, cuando la fecha es el 26 de febrero de 2024, esta columna FiscalWeek debe tener 5 en todas las filas.
Fecha | rDate | weekOfYear | rWeek | fiscalWeek | fiscalWeekName | ThisFiscalWeek |
1-feb-24 | -21 | 5 | -3 | 1 | W01 | 4 |
2-feb-24 | -20 | 5 | -3 | 1 | W01 | 4 |
3-feb-24 | -19 | 5 | -3 | 1 | W01 | 4 |
4-feb-24 | -18 | 5 | -3 | 1 | W01 | 4 |
5-feb-24 | -17 | 6 | -2 | 2 | W02 | 4 |
6-feb-24 | -16 | 6 | -2 | 2 | W02 | 4 |
7-feb-24 | -15 | 6 | -2 | 2 | W02 | 4 |
8-feb-24 | -14 | 6 | -2 | 2 | W02 | 4 |
9-feb-24 | -13 | 6 | -2 | 2 | W02 | 4 |
10-feb-24 | -12 | 6 | -2 | 2 | W02 | 4 |
11-feb-24 | -11 | 6 | -2 | 2 | W02 | 4 |
12-feb-24 | -10 | 7 | -1 | 3 | W03 | 4 |
13-feb-24 | -9 | 7 | -1 | 3 | W03 | 4 |
14-feb-24 | -8 | 7 | -1 | 3 | W03 | 4 |
15-feb-24 | -7 | 7 | -1 | 3 | W03 | 4 |
16-feb-24 | -6 | 7 | -1 | 3 | W03 | 4 |
17-feb-24 | -5 | 7 | -1 | 3 | W03 | 4 |
18-feb-24 | -4 | 7 | -1 | 3 | W03 | 4 |
19-feb-24 | -3 | 8 | 0 | 4 | W04 | 4 |
20-feb-24 | -2 | 8 | 0 | 4 | W04 | 4 |
21-feb-24 | -1 | 8 | 0 | 4 | W04 | 4 |
22-feb-24 | 0 | 8 | 0 | 4 | W04 | 4 |
23-feb-24 | 1 | 8 | 0 | 4 | W04 | 4 |
24-feb-24 | 2 | 8 | 0 | 4 | W04 | 4 |
25-feb-24 | 3 | 8 | 0 | 4 | W04 | 4 |
26-feb-24 | 4 | 9 | 1 | 5 | W05 | 4 |
27-feb-24 | 5 | 9 | 1 | 5 | W05 | 4 |
28-feb-24 | 6 | 9 | 1 | 5 | W05 | 4 |
29-feb-24 | 7 | 9 | 1 | 5 | W05 | 4 |
Gracias de nuevo
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.