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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Syndicate_Admin
Administrator
Administrator

Ajustar la columna personalizada de comparación de fechas, tener en cuenta los valores "N/A"

Hola, tengo una columna que compara 4 fechas:

Fecha prevista de entrada en servicio

ISD regulatorio aprobado

Fecha de interconexión en servicio

Fecha de finalización de las actualizaciones de red

El estado de mi horario depende de las 4 fechas alineadas (el ARISD, el IISD y el NUCD deben ser anteriores o coincidir con el PISD) El problema es que puede haber ocasiones en las que el NUCD sea N/A, en esos casos excluiría el NUCD de la comparación.

esto es lo que tengo:

si [ISD regulatorio aprobado] = nulo o [Fecha de interconexión en servicio] = nulo o [Fecha de servicio proyectada] = nulo, entonces

"En blanco"

de lo contrario, si [ISD regulatorio aprobado] <= [Fecha de servicio proyectada] y [ISD de instalaciones de interconexión] <= [Fecha de servicio proyectada] y [Fecha de finalización de las actualizaciones de red] <= [Fecha de servicio proyectada], entonces

"Verde"

de lo contrario, si [ISD regulatorio aprobado] > [Fecha de servicio proyectada] y [Fecha de interconexión en servicio] > [Fecha de servicio proyectada] y [Fecha de finalización de las actualizaciones de red] > [Fecha de servicio proyectada], entonces

"Rojo"

más

"Amarillo"

obviamente estoy recibiendo errores en las filas con N / A. Pensé que podría anidar mi IF, pero es un error diferente con esto:

si [Fecha de servicio proyectada] = nulo, entonces

"En blanco"

de lo contrario, si [Fecha de finalización de las actualizaciones de red] = N/A, entonces

([ISD regulatorio aprobado] <= [Fecha de servicio proyectada] y [Fecha de interconexión en servicio] <= [Fecha de servicio proyectada] entonces

"Verde"

de lo contrario, si [ISD regulatorio aprobado] > [Fecha de servicio proyectada] y [Fecha de interconexión en servicio] > [Fecha de servicio proyectada], entonces

"Rojo"

más

"Amarillo")

de lo contrario, si [ISD regulatorio aprobado] <= [Fecha de servicio proyectada] y [ISD de instalaciones de interconexión] <= [Fecha de servicio proyectada] y [Fecha de finalización de las actualizaciones de red] <= [Fecha de servicio proyectada], entonces

"Verde"

de lo contrario, si [ISD regulatorio aprobado] > [Fecha de servicio proyectada] y [Fecha de interconexión en servicio] > [Fecha de servicio proyectada] y [Fecha de finalización de las actualizaciones de red] > [Fecha de servicio proyectada], entonces

"Rojo"

más

"Amarillo"

15 REPLIES 15
Syndicate_Admin
Administrator
Administrator

¿Puede reemplazar el "N/A" por null en sus datos? Parte del problema es tener tipos de valores mixtos, string y date, en la misma figura y tratar de hacer comparaciones con ellos.

No recibí ningún error de los datos de muestra que compartiste y del código que proporcioné. Puedes verlo en el archivo que adjunté a mi respuesta anterior.

¿Puedo reemplazarlo con 1/0/1900 para indicar que no es aplicable?

Syndicate_Admin
Administrator
Administrator

Es difícil solucionar problemas sin ver realmente los datos. Creo que podría ser que las dos líneas tengan un valor nulo en otro campo causando el problema.

Si [ISD regulatorio aprobado] es NULL e intenta hacer

[ISD regulatorio aprobado] <= [Fecha de servicio proyectada] Me pregunto si arroja ese error.

Pruebe este código, vea si se ejecuta sin errores.

if 
	[Projected In Service Date] = null
	then "blank"
else if 
	[Approved Regulatory ISD] = null or 
	[Interconnection In Service Date] = null or 
	[Network Upgrades Completion Date] = null or
	then "some other kind of blank"
else if
	[Approved Regulatory ISD] <= [Projected In Service Date] and 
	[Interconnection In Service Date] <= [Projected In Service Date] and 
	([Network Upgrades Completion Date] <= [Projected In Service Date] or [Network Upgrades Completion Date] = "N/A") 
	then "Green" 
else if
	[Approved Regulatory ISD] > [Projected In Service Date] and 
	[Interconnection In Service Date] > [Projected In Service Date] and 
	([Network Upgrades Completion Date] > [Projected In Service Date] or [Network Upgrades Completion Date] = "N/A") 
	then "Red"
else "Yellow"

Disculpas, vea los datos a continuación

Nombre del proyectoISD regulatorio aprobadoFecha prevista de entrada en servicioInstalaciones de Interconexión ISDFecha de finalización de las actualizaciones de red
Allen 112/31/202512/31/202510/31/2025
Allen 2 (GRR) 10/31/2027
Allen 3 10/1/2028
Anclote 12/31/2029
Asheville (fmr. Lago Julian)3/31/20253/31/20268/15/202511/24/2025
Atkinson 3/1/2029
Parque Avon 12/31/2029
Aynor 12/31/2026
Campamento Lejeune 2 4/30/2027
En la época de los 20 7/1/2029
Coleridge 9/30/20273/31/2031
Escarpado3/31/20263/31/202612/1/2025N/A
Río Dan 1/1/2029
Ciudad del Olmo9/30/20259/30/20256/30/2025N/A
Eno 6/30/2030
Paz12/31/20245/31/2025
HF Lee11/15/20294/1/20286/2/202812/2/2029
HF Lee 2 10/1/20284/2/2029
Knightdale (Velatorio)9/30/20259/30/20255/30/20255/30/2025
Longtown9/30/202512/31/20253/31/2026
Arroyo de la Doncella 6/30/2027 N/A
Monroe12/31/202412/31/20241/15/2025
O9/30/202512/31/20253/31/2026
Colina Nueva5/1/202512/31/20266/30/20266/2/2025
Oriental 3/1/2029
Línea eléctrica 3/1/20276/1/2029
Curva del río 10/31/20275/21/2027N/A
Ribera8/30/20249/25/202512/31/2022
Sadler 1/1/2029
Esperanza de primavera 4/1/2029
Suwannee 2/28/202511/30/2024
Warrenton 12/1/2029
Varsovia9/30/20249/30/20247/19/2024N/A
Varsovia 2 12/31/2025
Wateree 9/30/2027
Weatherspoon 4/1/2029
Wilkes 12/31/202710/1/202710/1/2027
Williamsboro 6/30/20273/31/2031

el nuevo código no eliminó el error en el "N/A", sino que también entrega un color solo cuando se llenan las 4 columnas. El resto muestra "algún otro tipo de espacio en blanco", sospecho que el primero si es la razón de esto?

Gracias por los datos de muestra. ¿Esto te da lo que estás buscando? Se ejecuta sin errores para mí.

if 
	[Projected In Service Date] = null
	then "blank" 
else if
	[Approved Regulatory ISD] = null or 
	[Interconnection Facilities ISD] = null or 
	[Network Upgrades Completion Date] = null 
	then "Yellow" 
else if
	[Approved Regulatory ISD] <= [Projected In Service Date] and 
	[Interconnection Facilities ISD] <= [Projected In Service Date] and 
	([Network Upgrades Completion Date] <= [Projected In Service Date] or [Network Upgrades Completion Date] = "N/A") 
	then "Green" 
else if
	[Approved Regulatory ISD] > [Projected In Service Date] and 
	[Interconnection Facilities ISD] > [Projected In Service Date] and 
	([Network Upgrades Completion Date] > [Projected In Service Date] or [Network Upgrades Completion Date] = "N/A") 
	then "Red"
else "Yellow"

He adjuntado mi archivo de muestra para que lo vea.

Recibo el siguiente error en Craggy, Elm City y Varsovia, pero no en Riverbend.

Expression.Error: No podemos aplicar el operador < a los tipos Date y Text.
Detalles:
Operador=<
Izquierda=31/03/2026
Derecha=N/A

Hola, @rosamhernandez1

Puede probar los siguientes métodos.

Custom = if ([Projected In Service Date] = null or [Network Upgrades Completion Date] = null or [Approved Regulatory ISD] = null or [Interconnection Facilities ISD] = null) then "blank"
    else if [Network Upgrades Completion Date] = "N/A" then
    (if [Approved Regulatory ISD] <= [Projected In Service Date] and [Interconnection Facilities ISD] <= [Projected In Service Date] then "Green"
       else if [Approved Regulatory ISD] > [Projected In Service Date] and [Interconnection Facilities ISD] > [Projected In Service Date] then "Red"
       else "Yellow")
    else if [Approved Regulatory ISD] <= [Projected In Service Date] and [Interconnection Facilities ISD] <= [Projected In Service Date] and Date.FromText([Network Upgrades Completion Date]) <= [Projected In Service Date] then "Green"
    else if [Approved Regulatory ISD] > [Projected In Service Date] and [Interconnection Facilities ISD] > [Projected In Service Date] and Date.FromText([Network Upgrades Completion Date]) > [Projected In Service Date] then "Red"
    else "Yellow"

vzhangtinmsft_0-1726649711331.png

¿Es este el resultado que esperabas?

Saludos

Equipo de apoyo a la comunidad _Charlotte

Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

Recibo el siguiente error en Asheville, HF Lee, Knightdale y New Hill:

Expression.Error: No se puede convertir el valor #date(2025, 11, 24) en el tipo Text.
Detalles:
Valor=24/11/2025
Tipo=[Tipo]

¿Qué paso estás aplicando que te da ese error? No obtengo ningún error de sus datos de muestra, por lo que me estoy perdiendo algo.

¿Cómo puedo adjuntar mi archivo?

Puedes enviármelo directamente en un mensaje privado

Syndicate_Admin
Administrator
Administrator

¿Puedes simplemente agregar el cheque de PISD en la primera línea de esta manera?

if 
	[Approved Regulatory ISD] = null or 
	[Interconnection In Service Date] = null or 
	[Network Upgrades Completion Date] = null or
	[Projected In Service Date] = null
	then "blank" 
else if
	[Approved Regulatory ISD] <= [Projected In Service Date] and 
	[Interconnection In Service Date] <= [Projected In Service Date] and 
	([Network Upgrades Completion Date] <= [Projected In Service Date] or [Network Upgrades Completion Date] = "N/A") 
	then "Green" 
else if
	[Approved Regulatory ISD] > [Projected In Service Date] and 
	[Interconnection In Service Date] > [Projected In Service Date] and 
	([Network Upgrades Completion Date] > [Projected In Service Date] or [Network Upgrades Completion Date] = "N/A") 
	then "Red"
else "Yellow"

@jdbuchanan71, la intención es, si el PISD solo está en blanco, la columna se mostrará "en blanco", de esta manera, solo tendremos datos para las partidas donde se haya determinado el PISD.

El mensaje de error para solo dos líneas de pedido es:

Expression.Error: No podemos convertir el valor null en de tipo Logical.
Detalles:
Valor=
Tipo=[Tipo]

Syndicate_Admin
Administrator
Administrator

@rosamhernandez1 Puede incluir la comparación para PIS y la verificación para N/A usando un 'o'. Creo que esto te dará lo que estás buscando.

if 
	[Approved Regulatory ISD] = null or 
	[Interconnection In Service Date] = null or 
	[Network Upgrades Completion Date] = null 
	then "blank" 
else if
	[Approved Regulatory ISD] <= [Projected In Service Date] and 
	[Interconnection In Service Date] <= [Projected In Service Date] and 
	([Network Upgrades Completion Date] <= [Projected In Service Date] or [Network Upgrades Completion Date] = "N/A") 
	then "Green" 
else if
	[Approved Regulatory ISD] > [Projected In Service Date] and 
	[Interconnection In Service Date] > [Projected In Service Date] and 
	([Network Upgrades Completion Date] > [Projected In Service Date] or [Network Upgrades Completion Date] = "N/A") 
	then "Red"
else "Yellow"

jdbuchanan71_0-1726146873134.png

¡Gracias! He ajustado la fórmula en la que solo una fecha de servicio proyectada vacía producirá un "blanco" pensando que un PISD vacío no calculará nada

si

[Fecha de entrada en servicio proyectada] = nulo

luego "en blanco"

pero recibo un error de tipo:

Expression.Error: No podemos convertir el valor null en de tipo Logical.
Detalles:
Valor=
Tipo=[Tipo]

rosamhernandez1_0-1726256718005.png

¿No estás seguro de cómo formatear esto correctamente?

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!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors