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

La columna calculada cambia el valor en el informe

hola

En primer lugar, el inglés no es mi madre tounge, así que espero hacerme entender :).

Soy bastante nuevo att Power BI y estoy struggeling con una columna calculada y el resultado de salida en mi informe.

Por lo tanto, mi empresa quiere hacer un seguimiento de la "edad" de un miembro cuando pagan allí la cuota de membresía (número de años como miembro), y tengo una columna que calcula que:

SaraFtg_3-1627296986146.png

MemberYears =
Var vContractMemberFrom = RELATED(Cliente[Miembro del contrato de])
Var vMinPeriodStartingDate = MINX(RELATEDTABLE(Sales), Sales[Member Period Starting Date])
Donde vMemberYears =
SI(
ISBLANK(vContractMemberFrom),
-1,
ROUNDDOWN(YEARFRAC(vContractMemberFrom, vMinPeriodStartingDate, 1), 0)
)
devolución
IF(NOT ISBLANK(vMinPeriodStartingDate), vMemberYears)

La razón por la que tenemos "Missing" y "(Blank)" es porque una factura puede referirse a una cuota de membresía u otras ventas.

En segundo lugar, estoy agrupando estos valores con SWITCH en otra columna:

SaraFtg_4-1627297033177.png

MemberYears (grupo) =
SWITCH(
TRUE(),
'Encabezados de ventas'[MemberYears] = -1, "Falta",
ISBLANK('Sales Headers'[MemberYears]), "(En blanco)",
'Encabezados de ventas'[MemberYears] = 0, "0",
'Encabezados de ventas'[MemberYears] = 1, "1",
'Encabezados de ventas'[MemberYears] = 2, "2",
'Encabezados de ventas'[MemberYears] = 3, "3",
'Encabezados de ventas'[MemberYears] = 4, "4",
'Encabezados de ventas'[MemberYears] = 5, "5",
'Sales Headers'[MemberYears] >= 6 && 'Sales Headers'[MemberYears] < 11, "6-10",
'Sales Headers'[MemberYears] >= 11 && 'Sales Headers'[MemberYears] < 21, "11-20",
'Encabezados de ventas'[MemberYears] > = 21 && 'Encabezados de ventas'[MemberYears] < 51, "21-50",
'Encabezados de ventas'[MemberYears] > = 51 && 'Encabezados de ventas'[MemberYears] < 1000, "50+"
)
Obtengo el resultado esperado en mi datamodel
SaraFtg_0-1627296477858.png

pero en mi informe, todos los elementos con valor "-1", que deben agruparse como "Missing", se convierten en "50+" ¿Por qué?

SaraFtg_1-1627296666924.png

He intentado agregar &&<> -1 en la última fila, pero eso tampoco funciona. ¿Cómo es posible que el modelo de datos y el informe muestren valores diferentes? ¿Alguien que tenga una idea o solución?

Gracias de antemano!

1 ACCEPTED SOLUTION

Hay @selimovd,

Después de un poco más de excavación, descubrí que las celdas vacías en la columna de fecha en mi tabla Customer devolvían 30/12/1899, por lo que cuando calculé MemberYear, el resultado se convirtió en 120 años.

En lugar de IF(ISBLANK(vContractMemberFrom),-1,... Probé IF(vContractMemberFrom = 0,-1,... y ahora parece funcionar bien.

Gracias por tomarse su tiempo para responder a mi problema.

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

No @SaraFtg ,

Después de revisar su pregunta, parece que se ha resuelto. Puede marcar la respuesta correcta como la respuesta estándar para ayudar a los otros miembros a encontrarla más rápidamente.

Si todavía hay confusión, puede describir su problema en detalle y proporcionar datos e información relevantes. Le responderé lo antes posible.


Saludos
henrio

Syndicate_Admin
Administrator
Administrator

Hey @SaraFtg ,

¿Puede comprobar si el documento nº 765663 tiene varias filas en los datos?

Si elige MAX como agregación para MemberYears (grupo) podría ser que mostraría el MAX de las filas y si ese documento no tiene varias filas que lo explicaría.

También intente establecer la agregación en el objeto visual en "No resumir":

selimovd_0-1627297903702.png

Al igual que esto, todas las filas deben mostrarse con seguridad.

Si necesita ayuda por favor hágamelo saber.
Si respondiera a su pregunta, estaría feliz si pudiera marcar mi publicación como una solución ✔️ y darle un pulgar hacia arriba 👍
Saludos
Denis

Hm, al agregar la columna MembertYear (también establecida en No resumir) a mi visual, el problema parece ser que -1 se establece en 120 (lo que resulta en que se agrupa como "50 +"). Entonces, la pregunta es por qué está sucediendo eso.

SaraFtg_0-1627300254764.png

Hey @SaraFtg ,

¿puede compartir el archivo? Sería mucho más fácil echar un vistazo al archivo en sí.

Saludos

Denis

Hay @selimovd,

Después de un poco más de excavación, descubrí que las celdas vacías en la columna de fecha en mi tabla Customer devolvían 30/12/1899, por lo que cuando calculé MemberYear, el resultado se convirtió en 120 años.

En lugar de IF(ISBLANK(vContractMemberFrom),-1,... Probé IF(vContractMemberFrom = 0,-1,... y ahora parece funcionar bien.

Gracias por tomarse su tiempo para responder a mi problema.

Hay @selimovd,

Gracias por su respuesta!

El documento No aparece en tres tablas diferentes y en varias filas en dos de ellas, pero no en la tabla donde se realiza este cálculo.

La agregación se establece en No resumir, estas son las opciones que tengo

SaraFtg_0-1627298715425.png

Saludos

Sara

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!

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 Kudoed Authors