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.
Tengo una tabla que recopila datos de fuentes en tiempo real, a veces sucede que las colecciones fallan por alguna razón en algunos activos, para los valores que faltan que utilizo debajo de DAX (LASTNONBLANK) para llenar los espacios en blanco con el valor más reciente en ese momento en el tiempo.
valor de cálculo á var assetid á [AssetID] var curDate á [Fecha] var priorMaxDate ? CALCULATE(MAX('Table1'[Fecha]), FILTER('Table1', 'Table1'[AssetID] ? assetid && [Date] < curDate && 'Table1'[Value] <> BLANK())) devuelve if([Value] á blank(), CALCULATE(max('Table1'[Value]), FILTER('Table1', [AssetID] á assetid && [Date] á priorMaxDate)), 'Table1'[Valor])
Ahora quiero ampliar la fórmula con lo siguiente,
Cuando no puede recopilar datos de un origen (assetID) durante 3 días consecutivos, la columna calculada cambiará a cero para ese assetID. (esto no tiene que ser retroactivo.)
¿Alguien puede ayudar?
Solved! Go to Solution.
Hola, @Chimsie
He modificado los datos para reproducir su escenario. El archivo pbix se adjunta al final.
Mesa:
Puede crear una columna calculada como se muestra a continuación.
Result =
COALESCE(
[Value],
var _id=[AssetID]
var _date=[Date]
var lastnoblankdate =
CALCULATE(
MAX('Table'[Date]),
FILTER(
ALL('Table'),
'Table'[AssetID]=_id&&
'Table'[Date]<_date&&
'Table'[Value]<>BLANK()
)
)
var val=
CALCULATE(
SUM('Table'[Value]),
FILTER(
ALL('Table'),
'Table'[AssetID]=_id&&
'Table'[Date]=lastnoblankdate
)
)
return
IF(
[Date]-lastnoblankdate<=3,
val,
0
)
)
Resultado:
Saludos
Allan
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola, @Chimsie
Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.
Mesa:
Puede crear una columna calculada como se muestra a continuación.
Result =
var _asserid=[AssetID]
var _date=[Date]
var tab=
CALCULATETABLE(
DISTINCT('Table'[Date]),
TOPN(
3,
FILTER(
'Table',
'Table'[AssetID]=_asserid&&
'Table'[Date]<_date&&
'Table'[Value]<>BLANK()
),
'Table'[Date]
)
)
return
IF(
MAXX(
tab,
[Date]
)<[Date]-3,
0,
CALCULATE(
MAX('Table'[Value]),
FILTER(
'Table',
'Table'[AssetID]=_asserid&&
'Table'[Date] in tab
)
)
)
Resultado:
Saludos
Allan
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @v-alq-msft
No creo que estuviera completamente claro.
Cuando para un AssetID el valor es 0/blank el resultado debe ser el LASTNONBLANK, cuando el valor de un AssetID es 0/en blanco durante 3 días seguidos, el resultado debe ser 0 a partir del cuarto día.
Vea el ejemplo siguiente:
Hola, @Chimsie
He modificado los datos para reproducir su escenario. El archivo pbix se adjunta al final.
Mesa:
Puede crear una columna calculada como se muestra a continuación.
Result =
COALESCE(
[Value],
var _id=[AssetID]
var _date=[Date]
var lastnoblankdate =
CALCULATE(
MAX('Table'[Date]),
FILTER(
ALL('Table'),
'Table'[AssetID]=_id&&
'Table'[Date]<_date&&
'Table'[Value]<>BLANK()
)
)
var val=
CALCULATE(
SUM('Table'[Value]),
FILTER(
ALL('Table'),
'Table'[AssetID]=_id&&
'Table'[Date]=lastnoblankdate
)
)
return
IF(
[Date]-lastnoblankdate<=3,
val,
0
)
)
Resultado:
Saludos
Allan
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Great, thank you very much!🤗
Nadie que pueda ayudarme con el desafío anterior, ¿es posible en absoluto?
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |