moizsherwani
Así que tengo dos tablas como las siguientes que tienen una relación con OPPID entre ellas
OPORTUNIDAD
OPPID – ESTADO
OPP1 – ABIERTO
OPP2 – CERRAR
OPP3 – ABIERTO
OPP4 – ABIERTO
ACTIVIDAD
OPPID – ACTIVIDAD – FECHA
OPP1 – ACT1 – 1/1/2017
OPP1 – ACT2 – 1/1/2018
OPP3 – ACT3 – 3/1/2017
Entonces, la tabla de oportunidades enumera todas las oportunidades y la tabla de actividades enumera todas las actividades para oportunidades.
Ahora necesito una lista de TODAS las Oportunidades «ABIERTAS» que no tienen ninguna actividad, así como aquellas que no tienen ninguna actividad futura.
Entonces la LÓGICA es
Mostrar todos los OPPID donde ESTADO = ABIERTO
y
OPPID no existe en la TABLA DE ACTIVIDADES
o
OPPID existe pero tiene una FECHA < AHORA()
Eric_Zhang
@moizsherwani escribió:
Así que tengo dos tablas como las siguientes. tener una relación con OPPID entre ellos
OPORTUNIDAD
OPPID – ESTADO
OPP1 – ABIERTO
OPP2 – CERRAR
OPP3 – ABIERTO
OPP4 – ABIERTO
ACTIVIDAD
OPPID – ACTIVIDAD – FECHA
OPP1 – ACT1 – 1/1/2017
OPP1 – ACT2 – 1/1/2018
OPP3 – ACT3 – 3/1/2017
Entonces, la tabla de oportunidades enumera todas las oportunidades y la tabla de actividades enumera todas las actividades para oportunidades.
Ahora necesito una lista de TODAS las Oportunidades «ABIERTAS» que no tienen ninguna actividad, así como aquellas que no tienen ninguna actividad futura.
Entonces la LÓGICA es
Mostrar todos los OPPID donde ESTADO = ABIERTO
y
OPPID no existe en la TABLA DE ACTIVIDADES
o
OPPID existe pero tiene una FECHA < AHORA()
Entonces podemos decir que el filtro es ESTADO = ABIERTO y NO EXISTE FECHA DE ACTIVIDAD> = AHORA (), ¿verdad?
Tratar
New table = FILTER ( OPPORTUNITY, NOT ( CONTAINS ( FILTER ( ACTIVITY, ACTIVITY[DATE] >= NOW () ), ACTIVITY[OPPID], OPPORTUNITY[OPPID] ) ) && OPPORTUNITY[STATUS] = "OPEN" )
Eric_Zhang
En respuesta a moizsherwani
@moizsherwani
Luego crea una columna calculada como
ShowOrHidden = IF ( MAXX ( RELATEDTABLE ( ACTIVITY ), ACTIVITY[DATE] ) < NOW () && OPPORTUNITY[STATUS] = "OPEN", "SHOW", "HIDDEN" )
Se usa RELATEDTABLE, ya que creo que hay una relación adecuada entre esas dos tablas.
Eric_Zhang
@moizsherwani escribió:
Así que tengo dos tablas como las siguientes. tener una relación con OPPID entre ellos
OPORTUNIDAD
OPPID – ESTADO
OPP1 – ABIERTO
OPP2 – CERRAR
OPP3 – ABIERTO
OPP4 – ABIERTO
ACTIVIDAD
OPPID – ACTIVIDAD – FECHA
OPP1 – ACT1 – 1/1/2017
OPP1 – ACT2 – 1/1/2018
OPP3 – ACT3 – 3/1/2017
Entonces, la tabla de oportunidades enumera todas las oportunidades y la tabla de actividades enumera todas las actividades para oportunidades.
Ahora necesito una lista de TODAS las Oportunidades «ABIERTAS» que no tienen ninguna actividad, así como aquellas que no tienen ninguna actividad futura.
Entonces la LÓGICA es
Mostrar todos los OPPID donde ESTADO = ABIERTO
y
OPPID no existe en la TABLA DE ACTIVIDADES
o
OPPID existe pero tiene una FECHA < AHORA()
Entonces podemos decir que el filtro es ESTADO = ABIERTO y NO EXISTE FECHA DE ACTIVIDAD> = AHORA (), ¿verdad?
Tratar
New table = FILTER ( OPPORTUNITY, NOT ( CONTAINS ( FILTER ( ACTIVITY, ACTIVITY[DATE] >= NOW () ), ACTIVITY[OPPID], OPPORTUNITY[OPPID] ) ) && OPPORTUNITY[STATUS] = "OPEN" )
moizsherwani
En respuesta a Eric_Zhang
@Eric_Zhang, esto definitivamente funciona como una solución, me gustaría haber agregado como una columna a la tabla OPORTUNIDAD con el significado «Mostrar», «Ocultar» si la Opp cumple con todos los criterios (es decir, existe en su nueva tabla) entonces sería ser «mostrar» sino «ocultar»
Eric_Zhang
En respuesta a moizsherwani
@moizsherwani
Luego crea una columna calculada como
ShowOrHidden = IF ( MAXX ( RELATEDTABLE ( ACTIVITY ), ACTIVITY[DATE] ) < NOW () && OPPORTUNITY[STATUS] = "OPEN", "SHOW", "HIDDEN" )
Se usa RELATEDTABLE, ya que creo que hay una relación adecuada entre esas dos tablas.
moizsherwani
En respuesta a Eric_Zhang
¿Por qué la función Maxx? Tenga en cuenta que también hay algunas actividades sin fecha, por lo que tampoco se consideran actividades futuras, ¿las considerará esta fórmula? Gracias
Eric_Zhang
En respuesta a moizsherwani
@moizsherwani escribió:
¿Por qué la función Maxx? Tenga en cuenta que hay algunos actividad sin fecha así que esos también son no considerado futuro actividades, esta fórmula las considerará. Gracias
@moizsherwani
Incluso sin fecha, la expresión MAXX ( RELATEDTABLE ( ACTIVITY ), ACTIVITY[DATE] ) < AHORA () devolvería True, ¿verdad? Creo que el DAX se puede aplicar a su caso, ya que hemos confirmado que la condición es ESTADO = ABIERTO y NO EXISTE FECHA DE ACTIVIDAD> = AHORA (), es decir, la fecha máxima ACTIVIDAD
¿Ha intentado y lo que está pasando?
moizsherwani
En respuesta a Eric_Zhang
@Eric_Zhang, sí, la solución parece ser correcta, pero como quería verificar que esto se tuvo en cuenta. ¿Puede explicar la lógica de lo que está haciendo la fórmula para mi comprensión?
Eric_Zhang
En respuesta a moizsherwani
@moizsherwani
He editado mi respuesta anterior y explico la lógica.
Phil_Seamark
Hola de nuevo @moizsherwani
¿Esta tabla calculada se acerca a lo que busca?
New Table = VAR T1 = SELECTCOLUMNS(FILTER('OPPORTUNITY','OPPORTUNITY'[STATUS]="OPEN"),"OPPID",[OPPID]) VAR T2 = SELECTCOLUMNS(FILTER('ACTIVITY','ACTIVITY'[DATE]>TODAY()),"OPPID",[OPPID]) RETURN EXCEPT(T1,T2)