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

Next up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now

Reply
Syndicate_Admin
Administrator
Administrator

Varias condiciones en la función de conmutador basadas en dos columnas calculadas en PowerBI

maheshbabu_0-1684058001378.png

Hola chicos, cualquier ayuda a la columna de interruptores anterior es muy apreciable. Estoy tratando con dos columnas calculadas que se pueden ver en el lado derecho de la imagen, una es Digital y otra es NoDigital. La columna digital se crea con el siguiente dax:

Digital = CALCULATE(MIN(Communications[Daysdiff]),ALLEXCEPT(Communications,Communications[DebtorNumber]),Communications[Digital/Non-Digital]="Digital" )
y NonDigital se crea utilizando:
No digital = CALCULATE(MIN(Communications[Daysdiff]),ALLEXCEPT(Communications,Communications[DebtorNumber]),Communications[Digital/Non-Digital]="Non-Digital")
Ambas columnas devuelven el número de días entre firstcommdate (consulte la imagen) y firstpaydate (consulte la imagen).
En general, enviamos múltiples comunicaciones a cada deudor (una columna que contiene duplicados, porque cada deudor recibe múltiples comunicaciones) por vía digital y no digital y pocos deudores solo reciben comunicaciones solo por modo digital o no digital.
FirstCommDate = Fecha más temprana de comunicación enviada a cada deudor por digital y no digital. Contiene dos fechas más tempranas (una para digital y otra para no digital) para cada deudor si recibe tanto digital como no digital, de lo contrario solo una fecha.
FirstPayDate = contiene solo una fecha más temprana para cada deudor, independientemente de los tipos de comunicaciones que recibió.
Basándome en las dos columnas anteriores, he creado columnas digitales y no digitales para encontrar la diferencia mínima de días para cada deudor por tipo de comunicación.
Ahora mi requisito es categorizar a cada deudor como Digital o No Digital en función de la diferencia entre firstpaydate y early firstcommdate (por qué first commdate es - si un deudor recibe comunicación digital y no digital, él / ella tendrá dos firstcommdates uno para digital y otro para no digital, entre esas dos fechas, debe considerar la fecha más temprana).
He escrito la declaración de cambio que puedes ver en la imagen, todas las condiciones son satisfactorias pero no la última. Así que amablemente ayúdame a lograr el resultado deseado, ya sea corrigiendo por encima de DAX o proporcionando un nuevo DAX. Las condiciones son las siguientes:
1.Tanto las columnas digitales como las no digitales contienen negativos, positivos, cero y espacios en blanco.
2.Tanto digital como no digital mayor que cero y si es digital menor que no digital, "Digital"
3.Tanto digital como no digital mayor que cero y si no es digital menos que digital, "No digital"
4.digital es igual a no digital, en blanco,
5.digital es igual / mayor que a cero y no digital menor que cero, "Digital",
6.no digital es igual o mayor que a cero y digital menor que cero, "No digital",
7. digital es igual a cero y no digital mayor o menor que cero "Digital",
8.no digital es igual a cero y digital mayor o menor que cero "No digital",
9.digital está en blanco y no digital es cero o mayor que cero, "No digital"
10.nondigital está en blanco y digital es cero o mayor que cero, "Digital", en blanco.

Gracias de antemano.



3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Proporcione datos de muestra que cubran su problema o pregunta por completo, en un formato utilizable (no como una captura de pantalla).

Syndicate_Admin
Administrator
Administrator

Hola Amit,
He probado el DAX que proporcionaste, pero fue en vano. Aquí estoy pegando la salida deseada. Espero que sea suficiente. Háganos saber si no es suficiente.

maheshbabu_0-1684124814350.png

He tomado algunos números aleatorios para hacerte entender, siéntete libre de preguntar cualquier cosa que no entiendas. Gracias

Syndicate_Admin
Administrator
Administrator

@maheshbabu ,
¿Puede compartir datos de muestra y salida de muestra en formato de tabla? O un pbix de muestra después de eliminar datos confidenciales.

Pruebe si esto puede ayudar

Nueva columna =
INTERRUPTOR (
VERDADERO (),
ISBLANK ( Comunicaciones [No Digital] ), "Digital",
ISBLANK ( Comunicaciones [Digital] ), "No digital",
Comunicaciones[Digital] < Comunicaciones[No Digital], "Digital",
Comunicaciones[Digital] > Comunicaciones[No Digital], "No Digital",
Comunicaciones[Digital] = Comunicaciones[No Digital], BLANCO (),
Comunicaciones[Digital] >= 0 && Comunicaciones[No Digital] < 0, "Digital",
Comunicaciones[Digital] < 0 && Comunicaciones[No Digital] >= 0, "No Digital",
Comunicaciones[Digital] = 0 && Comunicaciones[No Digital] <> 0, "Digital",
Comunicaciones[Digital] <> 0 && Comunicaciones[No Digital] = 0, "No Digital",
Comunicaciones[Digital] = 0 && Comunicaciones[No Digital] >= 0, "Digital",
Comunicaciones[No Digital] = 0 && Comunicaciones[Digital] >= 0, "No Digital",
Comunicaciones[Digital] = BLANCO () && Comunicaciones[No Digital] >= 0, "No Digital",
Comunicaciones[No digital] = BLANCO () && Comunicaciones[Digital] >= 0, "Digital",
EN BLANCO ()
)

Helpful resources

Announcements
New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

March Power BI Update Carousel

Power BI Community Update - March 2026

Check out the March 2026 Power BI update to learn about new features.

Top Kudoed Authors