Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Don'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.

Reply
Syndicate_Admin
Administrator
Administrator

Cómo crear una columna calculada con el mismo valor en cada fila con un valor calculado

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.

thisFiscalWeek = CALCULAR(MÁXIMO('Jerarquía de fechas'[fiscalWeek]), 'Jerarquía de fechas'[rFecha] = 0)

mirzo_0-1708557479448.png


Gracias por su ayuda de antemano



4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

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:

Contexto en fórmulas DAX - Soporte técnico de Microsoft

Contexto de fila en DAX - SQLBI

¡Muchas gracias por explicarlo a fondo!

Syndicate_Admin
Administrator
Administrator

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:

vjianpengmsft_0-1708568943431.png

thisFiscalWeek = IF('Date Hierarchy'[rDate]=0,CALCULATE(MAX('Date Hierarchy'[fiscalWeek])),
CALCULATE(MAX('Date Hierarchy'[fiscalWeek]),'Date Hierarchy'[rDate]))

Los resultados son los siguientes:

vjianpengmsft_1-1708569126963.png

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.

FecharDateweekOfYearrWeekfiscalWeekfiscalWeekNameThisFiscalWeek
1-feb-24-215-31W014
2-feb-24-205-31W014
3-feb-24-195-31W014
4-feb-24-185-31W014
5-feb-24-176-22W024
6-feb-24-166-22W024
7-feb-24-156-22W024
8-feb-24-146-22W024
9-feb-24-136-22W024
10-feb-24-126-22W024
11-feb-24-116-22W024
12-feb-24-107-13W034
13-feb-24-97-13W034
14-feb-24-87-13W034
15-feb-24-77-13W034
16-feb-24-67-13W034
17-feb-24-57-13W034
18-feb-24-47-13W034
19-feb-24-3804W044
20-feb-24-2804W044
21-feb-24-1804W044
22-feb-240804W044
23-feb-241804W044
24-feb-242804W044
25-feb-243804W044
26-feb-244915W054
27-feb-245915W054
28-feb-246915W054
29-feb-247915W054


Gracias de nuevo

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors