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.
Hola compañeros DAXers,
Me está costando conseguir una columna Rankx agregada a una tabla de memoria creada por SUMMARIZE
Al final del día recibo el mensaje de error "Función 'RANKX' no admite la comparación de valores de tipo True/False con valores de tipo Integer. Considere la posibilidad de utilizar la función VALUE o FORMAT para convertir uno de los valores."
A continuación, creo un TrendsTableTemp que tiene el siguiente aspecto: (pongo ese código en la tabla create para que sepa que funciona) Y todo lo que quiero es otra columna con un Ranking de las fechas en orden descendente usando el DataMonthID (o la fecha de finalización de la medida para el caso)--1,2,3,4,5,6.
¿Alguna idea de lo que está pasando aquí?
Gracias, Tom
Aquí está el fragmento de código...
BuildTrendsTable =
//Housekeeping to feed the table to debug
VAR VariableName = "ADC"
VAR ProviderNoNewtonWell = 220101
VAR LastTrendDate = CALCULATE(LASTDATE(Tr_MeasureTrends[Measure End Date]),
Tr_MeasureTrends[Variable_Name] = VariableName)
VAR LastMonthID = CALCULATE(MAX(DateTable[MonthID]), DateTable[Date] = LastTrendDate)
VAR LastValue = CALCULATE(MAX(Tr_MeasureTrends[Variable_Value]),
Tr_MeasureTrends[Measure End Date]= LastTrendDate,
Tr_MeasureTrends[Variable_Name] = VariableName)
VAR Direction = CALCULATE(MIN(HospVariables[Direction(1/0/-1)]),HospVariables[Variable] = VariableName)
RETURN
//CREATE the memory table TrendsTableTemp using SUMMARIZE AND ADDCOLUMNS TABLE
VAR TrendsTableTemp = ADDCOLUMNS(
SUMMARIZE( FILTER(Tr_MeasureTrends,Tr_MeasureTrends[Variable_Name] = VariableName
&& [ProvdrNo] = ProviderNoNewtonWell),
Tr_MeasureTrends[Measure End Date],
Tr_MeasureTrends[ProvdrNo],
"MetricValue" , AVERAGE(Tr_MeasureTrends[Variable_Value])),
"DataMonthID",LOOKUPVALUE(DateTable[MonthID],DateTable[Date],Tr_MeasureTrends[Measure End Date]))
//TRY TO ADD A RANKX COLUMN
RETURN
ADDCOLUMNS(TrendsTableTemp,"MonthRank",
RANKX (
TrendsTableTemp,
EARLIER ([MetricValue]) = [MetricValue]
,
[DataMonthID],
,
DENSE
))
Solved! Go to Solution.
@ThomasDay - Bastante seguro de que aquí es donde se encuentra su problema (negrita)
ADDCOLUMNS(TrendsTableTemp,"MonthRank",
RANKX (
TrendsTableTemp,
ANTERIOR ([MetricValue]) á [MetricValue]
,
[DataMonthID],
,
Denso
))
Pero es difícil de decir exactamente sin pruebas. Puede que le resulte útil, https://community.powerbi.com/t5/Quick-Measures-Gallery/To-Bleep-with-RANKX/m-p/1042520#M452
De lo contrario, No hay suficiente información para continuar, por favor primero compruebe si su problema es un problema común enumerado aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882
Además, consulte este post sobre cómo obtener respuesta a su pregunta rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490
Las partes más importantes son:
1. Datos de muestra como texto, utilice la herramienta de tabla en la barra de edición
2. Salida esperada de los datos de muestra
3. Explicación en palabras de cómo obtener de 1. a 2.
@Greg_Deckler
Sí, mis disculpas por no poner mesas de prueba y más contexto. Dicho esto, me llevó a la derecha a la respuesta con el enlace! Una vez que eliminé la función EARLIER, todo se hizo más fácil. Termina pareciéndose a lo siguiente:
ADDCOLUMNS(TrendsTableTemp,"MonthRank",
Dado que el campo de ordenación no es un cálculo, puedo usar el valor de la "expresión" como el "valor" (sin necesidad de ANTES y puede omitir el valor).
¡Muchas gracias!
Tom
@ThomasDay , Intente cambios a cambio
ADDCOLUMNS(TrendsTableTemp,"MonthRank",
RANKX (
filter(all(TrendsTableTemp),
ANTERIOR ([MetricValue]) á [MetricValue])
[DataMonthID],,
Desc
DENSE))
@amitchandak
Gracias por su ayuda y sin el beneficio de los datos que se utilizarán para las pruebas. Te agradezco el tiempo que tomaste. Para tu información, se dio lugar al error:
"La función ALL espera una referencia de tabla para el argumento '1', pero se utilizó una expresión de tabla."
--He estado teniendo ese problema al usar tablas de memoria con filtros y funciones de filtro. Publí el fragmento que funcionó anteriormente si estás interesado.
Gracias de nuevo,
Tom
@ThomasDay Me alegra que haya encontrado una solución, también marque @Greg_Deckler y su solución como resuelto.
@ThomasDay - Bastante seguro de que aquí es donde se encuentra su problema (negrita)
ADDCOLUMNS(TrendsTableTemp,"MonthRank",
RANKX (
TrendsTableTemp,
ANTERIOR ([MetricValue]) á [MetricValue]
,
[DataMonthID],
,
Denso
))
Pero es difícil de decir exactamente sin pruebas. Puede que le resulte útil, https://community.powerbi.com/t5/Quick-Measures-Gallery/To-Bleep-with-RANKX/m-p/1042520#M452
De lo contrario, No hay suficiente información para continuar, por favor primero compruebe si su problema es un problema común enumerado aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882
Además, consulte este post sobre cómo obtener respuesta a su pregunta rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490
Las partes más importantes son:
1. Datos de muestra como texto, utilice la herramienta de tabla en la barra de edición
2. Salida esperada de los datos de muestra
3. Explicación en palabras de cómo obtener de 1. a 2.
@Greg_Deckler
Sí, mis disculpas por no poner mesas de prueba y más contexto. Dicho esto, me llevó a la derecha a la respuesta con el enlace! Una vez que eliminé la función EARLIER, todo se hizo más fácil. Termina pareciéndose a lo siguiente:
ADDCOLUMNS(TrendsTableTemp,"MonthRank",
Dado que el campo de ordenación no es un cálculo, puedo usar el valor de la "expresión" como el "valor" (sin necesidad de ANTES y puede omitir el valor).
¡Muchas gracias!
Tom
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 |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |