Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Tengo los siguientes datos de ejemplo:
Quiero agregar una columna que debe devolver el valor de un identificador determinado cuando se registró por primera vez como se indica en Period. He utilizado la siguiente consulta para obtener el resultado: FirstValue-IF(CALCULATE(MIN(table[Period]),ALLEXCEPT(table,table[ID]))?table[Period], table[Value], BLANK())
Esto me dio el resultado como se indica a continuación.
El problema con estos resultados es que la consulta no tuvo en cuenta que algunos valores están vacíos para el período cuando se registró por primera vez y, por lo tanto, devuelve campos BLANK() para ese determinado ID y período. Lo que quiero es devolver el FirstValue para el primer período donde Value no está en blanco. Como se muestra en el ejemplo siguiente:
¿Alguna idea de cómo hacer esto?
Hola @bamba98 ,
Por favor, intente esto:
Column =
VAR a =
MINX (
FILTER (
ALL ( 'Table' ),
EARLIER ( 'Table'[Period] ) >= 'Table'[Period]
&& EARLIER ( 'Table'[ID] ) = 'Table'[ID]
&& 'Table'[Value] <> BLANK ()
),
'Table'[Period]
)
VAR b =
CALCULATE (
SUM ( 'Table'[Value] ),
FILTER (
'Table',
'Table'[Period] = a
&& EARLIER ( 'Table'[ID] ) = 'Table'[ID]
)
)
RETURN
IF ( 'Table'[Period] = a, b, BLANK () )
@bamba98 , Pruebe una nueva columna como
calculate(firstnonbank([Value],blank()), filter(Table, [ID] á earlier([ID])))
Hola @bamba98 ,
Pruebe algo como se muestra a continuación:
Modifique el DAX anterior utilizando el nombre de la tabla y el nombre de columna.
Gracias
Pragati
hola @Pragati11 y @amitchandak
No veo que hayas tenido en cuenta el período. El conjunto de datos que tengo no está ordenado.
¿O me estoy perdiendo algo?
@bamba98 , Datos que compartió, no lo está aclarando.
¿Puede compartir datos de ejemplo y salida de ejemplo en formato de tabla?
@bamba98 , Probar como
if([period]- calculate(firstnonbank([period],blank()), filter(Table, [ID] á earlier([ID]))),[Value],blank())
@Pragati11 Debe tener en cuenta tanto el ID como el período. Mi consulta es incorrecta, ya que no tiene en cuenta que el campo para value está vacío para el período mimimum. Por lo tanto, debe ir al siguiente poriod mínimo y devolver ese valor si el campo para value no está vacío.
Hola @bamba98 ,
¿Desea que se tengan en cuenta tanto el ID como el PERIOD o simplemente ID o simplemente PERIOD?
Porque la consulta no está clara. He mostrado el resultado que está tratando de obtener en función de su captura de pantalla.
Gracias
Pragati