Forum Discussion
DAX EEARLIER Error
Hola
Mi código sigue mostrando EARLIER / EARLIEST se refiere a un contexto de fila anterior que no existe.
Cualquier ayuda sería apreciada. Gracias.
12 Replies
- Syndicate_AdminAdministrator
@Amos_Lim Intente usar esto
Rango =
VAR CurrentSAPNumber = 'ForkLiftData'[Número SAP]
DEVOLUCIÓN
RANKX(
FILTER('ForkLiftData', 'ForkLiftData'[Número SAP] = CurrentSAPNumber),
'ForkLiftData' [Nombre de la carretilla elevadora],
,
ASC
) - Syndicate_AdminAdministrator
Hola @Amos_Lim
Comparta datos de muestra (excluyendo información confidencial) en formato de texto, junto con el resultado esperado y cualquier lógica relevante. Para obtener orientación, consulte
Proporcionar datos de ejemplo en el foro de Power BI
Si es posible, cargue un archivo .pbix simplificado con esta guía:
- Syndicate_AdminAdministrator
He tomado una captura de pantalla del error y me gustaría resolver el problema de la siguiente manera:
Si aparece un usuario (resaltado con una flecha roja) para las carretillas elevadoras Nichiyu y TCM, su información solo debe mostrarse una vez. En la segunda fila, solo se debe mostrar "TCM" en lugar de repetir los detalles del usuario. Este enfoque hará que la tabla sea más fácil de leer, especialmente porque es una lista larga.
- Syndicate_AdminAdministrator
Hola @Amos_Lim,
Intente usar esta medida DAX.
Rank =
RANKX(
FILTER(
'ForkLiftData',
'ForkLiftData'[SAP Number] = SELECTEDVALUE('ForkLiftData'[SAP Number])
),
'ForkLiftData'[ForkLift Name],
,
ASC
)🌟 ¡Espero que esta solución te ayude a desbloquear tu potencial de Power BI! Si le resultó útil, haga clic en "Marcar como solución" para guiar a otros hacia las respuestas que necesitan.
💡 ¿Te gusta el esfuerzo? ¡Deja caer las felicitaciones! Su agradecimiento alimenta el espíritu comunitario y la innovación.
🎖 Como orgullosos superusuarios y socios de Microsoft, estamos aquí para potenciar su recorrido de datos y a la comunidad de Power BI en general.
🔗 ¿Tienes curiosidad por explorar más? [Descúbrelo aquí].
¡Sigamos construyendo juntos soluciones más inteligentes!- Syndicate_AdminAdministrator
Da un mensaje de error
No se puede determinar un único valor para la columna 'ForkLift Name' en la tabla 'ForkLiftData'. Esto puede suceder cuando una fórmula de medida hace referencia a una columna que contiene muchos valores sin especificar una agregación como min, max, count o sum para obtener un único resultado- Syndicate_AdminAdministrator
¿Podríacompartir datos de muestra, junto con el resultado esperado y cualquier lógica relevante?
Si es posible, cargue un archivo .pbix simplificado con esta guía:
- Syndicate_AdminAdministrator
Hola @Amos_Lim ,
¿Cuál es el criterio para el rango? ¿Qué determinará que la carretilla elevadora esté en primera o última posición? Por favor, proporcione más detalles para ayudarlo.
- Syndicate_AdminAdministrator
Estoy tratando de usar DAX para clasificar las carretillas elevadoras para cada usuario.
y use DAX para mostrar los detalles del usuario solo para la primera fila de cada usuario. Repita el mismo DAX para otra columna excepto Nombre de la carretilla elevadora
En resumen:-
Mi intención era hacer la tabla en el tablero de PBI que enumeraba a todos los usuarios y las carretillas elevadoras que están autorizados a conducir.
y actualmente, la tabla muestra varias filas del mismo usuario, con su 'Nombre de usuario', 'Número SAP', 'Nombre de la carretilla elevadora', 'POC', 'Departamento' y 'Licencia válida hasta' si el usuario tiene acceso a diferentes carretillas elevadoras.
Entonces, para el usuario repetido, me gustaría mostrar su información en la 1ª fila, y para la 2ª o 3ª o más con el mismo usuario solo se mostrarán los diferentes montacargas y el resto de las columnas mostrarán "En blanco".
- Syndicate_AdminAdministrator
Hola @Amos_Lim ,
El error con EARLIER en la fórmula DAX se produce porque EARLIER necesita un contexto de fila externa válido al que hacer referencia, pero no hay ninguno en el cálculo.
SoluciónPuedes reescribir tu fórmula para evitar ANTES por completo. Utilice variables o ADDCOLUMN para crear contextos de fila explícitamente.
Fórmula actualizada para una columna calculada
Si se trata de una columna calculada:
Rank = RANKX( FILTER( 'ForkLiftData', 'ForkLiftData'[SAP Number] = EARLIER('ForkLiftData'[SAP Number]) ), 'ForkLiftData'[ForkLift Name], , ASC )Esto debería funcionar si la columna se calcula fila por fila. Si no es así, considere las alternativas a continuación.