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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Filtrar columnas en una columna calculada correctamente

La columna calculada siguiente no devuelve los resultados correctos:
Bandera =
var countorderid = COUNTX(FILTER(RELATEDTABLE('olap fact_Transaction'),[TransactionYearMonth]= "Jan-20" || [TransactionYearMonth]= || "Feb-20" [TransactionYearMonth]= "Mar-20"),[order_id])

devolución
IF(countorderid>0,"True","False")

SaloniGupta_1-1618157713383.png

Traté de crear la lógica anterior en una medida, que me muestra el recuento correcto contra mi filtro para Q12020

FlagMeasure = CALCULATE(COUNTX(RELATEDTABLE('olap fact_Transaction'),'olap fact_Transaction'[order_id]),
FILTER('olap fact_Transaction','olap fact_Transaction'[TransactionYearMonth]= "Jan-20"|| 'olap fact_Transaction'[TransactionYearMonth]= "Feb-20" ||' olap fact_Transaction'[TransactionYearMonth]= "Mar-20"))

SaloniGupta_2-1618157863744.png

Necesito corregir la columna calculada ya que necesito poner una segmentación de datos en esta columna, ¿Alguien puede ayudar pls?


1 ACCEPTED SOLUTION

No @sayaliredij, @v-janeyg-msft ,

El problema mencionado anteriormente se ha resuelto mediante la creación de esta columna calculada:

Bandera =
var countorderid = COUNTX(
FILTER(RELATEDTABLE('olap fact_Transaction'),
RELATED('olap dim_TransactionType'[Type]) ="Ticket"
&&
'olap fact_Transaction'[TransactionYearMonth] en{"Jan-20","Feb-20","Mar-20"}),
[order_id]) +0
devolución
IF(countorderid>0,"True","False")

Muchas gracias por su ayuda
SaloniGupta_0-1618371389490.png

View solution in original post

12 REPLIES 12
Syndicate_Admin
Administrator
Administrator

Hola, @SaloniGupta

¿Se ha resuelto su problema?

Vi que ya hay muchas columnas de cálculo completas en su tabla, y sus necesidades son en realidad muy simples. Creo que es fácil de hacer. Pero no sé en qué tabla necesita poner su columna de cálculo, y qué forma de visual necesita presentar al final, y qué columnas en las diferentes tablas se incluyen, porque la imagen en su archivo es diferente de la imagen que acaba de mostrar al principio.

¿Puede mostrar el resultado deseado que desea al final? Así que podemos ayudarte pronto.

Saludos

Janey Guo

Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

No @sayaliredij, @v-janeyg-msft ,

El problema mencionado anteriormente se ha resuelto mediante la creación de esta columna calculada:

Bandera =
var countorderid = COUNTX(
FILTER(RELATEDTABLE('olap fact_Transaction'),
RELATED('olap dim_TransactionType'[Type]) ="Ticket"
&&
'olap fact_Transaction'[TransactionYearMonth] en{"Jan-20","Feb-20","Mar-20"}),
[order_id]) +0
devolución
IF(countorderid>0,"True","False")

Muchas gracias por su ayuda
SaloniGupta_0-1618371389490.png

Hola, @SaloniGupta

Parece que el error es causado por el problema de contar el valor en blanco. Me alegra que lo encuentres.

Generalmente, la función isblank() también se puede utilizar en lugar de countx(0 para evitar este tipo de error.

Puede marcar su respuesta como la solución.

Saludos

Janey Guo

Si este post ayuda , entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

Puede resolver esto siguiendo los pasos

1. Necesita una tabla que contenga todos los meses.

2. Puede crear una tabla calculada utilizando la siguiente culata

MonthOrder =
SUMMARIZECOLUMNS(
'Mes'[Mes],
"Está el orden presente",
IF(ISBLANK(COUNT(Data[Order])),FALSE,TRUE)
)
3. A continuación, hacer relaciones en las tablas de la siguiente manera
sayaliredij_0-1618240917578.png

saludos

Sayali

Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a otros a encontrarlo más rápidamente.

Hola @sayaliredij ,
He intentado su camino, pls ver la captura de pantalla a continuación:

SaloniGupta_2-1618244435695.png

¿Podemos filtrar Is Order Present para ser true sólo para Jan-20, Feb-20, Mar-20?
En este momento, se muestra verdadero cada vez que tenemos una identificación de pedido para cada mes.

¿Esta mesa es tu mesa de mes? Tabla de meses debe tener todos los meses posibles (incluso para los que los pedidos no están presentes). Esta tabla parece tener columnas duplicadas. Si puede compartir su archivo pbix (eliminación de datos confidenciales), sería genial comprobar

saludos

Sayali

Hola @sayaliredij ,
Sí, esta es una tabla de fechas que tiene una columna Número de mes. No estoy seguro de lo que quieres decir, pero tiene 12 meses.

SaloniGupta_0-1618250993422.png

SaloniGupta_1-1618251069101.png

Así es la relación:

SaloniGupta_2-1618251199240.png

"Fecha" tabla se une a mi hecho "Transacción" tabla en "DateKey" y "MonthOrder" Tabla se une a date table en MonthNumber.
y así son los resultados:-

SaloniGupta_3-1618251349123.png

así que hay identificadores de pedido para todos los años y meses (2018,2019,2020,2021), pero sólo quiero mostrar "True" para TransactionMonth = Jan-20, Feb-20, Mar-20

SaloniGupta_4-1618251519567.png

Por favor, hágamelo saber dónde puedo compartir el archivo .pbix también (no me permite adjuntar aquí)

¿Puedes subirlo en Una unidad o Dropbox?

saludos

Sayali

Hola @sayaliredij,

Adjunto el enlace
https://drive.google.com/file/d/1NU4yjXJ5nMPVa5ltBMRf8ULWU0BXSpiK/view?usp=sharing

Sólo quería hacerle saber, he creado una columna "Bandera" que muestra los resultados "True" casi correctamente para los clientes ("SourceName") que tienen transacciones en Q12020, pero no está funcionando para pocos clientes como se muestra a continuación:

SaloniGupta_0-1618323410600.png




Compruebe el archivo PBIX adjunto

https://www.dropbox.com/s/2xuire1av3jlfu7/Health%20Dashboard%20-%20for%20Testing%20Month%20Table.pbi...

Entendí que ya tienes mesa de citas, así que no necesitamos una mesa de mes especial.

ahora estoy obteniendo el siguiente resultado

sayaliredij_0-1618328118444.png

Syndicate_Admin
Administrator
Administrator

¿Puedes explicar un poco más? Lo que entendí- quieres crear un verdadero valor cuando hay pedidos en el mes

y falso ->cuando el recuento de pedidos para el mes es 0

¿Es esto correcto?

saludos

sayali

Sí, básicamente tengo que crear un filtro de casilla de verificación, para mostrar datos cuando hay una identificación de pedido (es decir, una transacción) para Q12020 (es decir, enero-2020, febrero-2020, mar-2020). Así que estoy tratando de devolver True /False cada vez que hay un order_id para esos meses de transacción.
En realidad, no estoy seguro de qué función utilizar para crear una columna calculada que resulte correctamente:

Bandera =
var countorderid = CALCULATE(COUNTX(FILTER(RELATEDTABLE('olap fact_Transaction'),[TransactionYearMonth]= "Jan-20" || [TransactionYearMonth]= || "Feb-20" [TransactionYearMonth]= "Mar-20"),[order_id]))

devolución
countorderid

Si usted ve countorderid no viene correctamente, en primer lugar este valor 40026 no es correcto y en segundo lugar, se muestra para todo TransactionYearMonth y no sólo para Q12020

SaloniGupta_0-1618181535285.png







Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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