The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event: Join us in Stockholm, September 24-27, 2024.
Save €200 with code MSCUST on top of early bird pricing!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
¡Buenos días!
Tengo un panel de rotación que actualizo cada mes con un nuevo archivo de recuento y un archivo de terminaciones. He estado usando durante meses sin problema, pero ahora de repente estoy recibiendo el siguiente mensaje de error cuando intento actualizar (el editor de consultas no muestra ningún error):
Apbi
La sintaxis de ')' es incorrecta. (DAX( MONTH(APBI[Effective])-[LatestMonth]) )). No se puede determinar un valor único para la columna 'EE_Location' en la tabla 'APBI'. 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. Error OLE DB u ODBC: escriba discordancia. (Excepción de HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH)).
Archivos que utilizo (todos los archivos de Excel):
APBI (Active Power BI): un archivo que descargo el primero de cada mes que tiene todos los empleados
Datos de rendimiento de 2018: extrae datos de rendimiento antiguos para aquellos que faltan
MissedTerms: una lista de empleados que terminaron en un mes y por lo tanto no fueron incluidos en uno de los archivos mensuales de APBI
He intentado los siguientes pasos para solucionar problemas:
- Verificado que todos los campos de los nuevos archivos coinciden con archivos antiguos
- Eliminado los archivos más recientes y trató de actualizar para ver si había un problema con los archivos más recientes, obtener el mismo error
- Medida de Dax eliminado a continuación que es el único que incluye "LatestMonth" - Hice esto para tratar de abordar la primera parte del error (La sintaxis para ')' es incorrecta. (DAX( MONTH(APBI[Effective])-[LatestMonth]) )) pero no estoy seguro de por qué una medida causaría un error de actualización. ¿Alguna otra idea de qué otra cosa buscar que esto podría estar haciendo referencia?
El último Mesh ( LatestMonth)
MES(MAXX(
KEEPFILTERS(VALUES(APBI[Effective])),
CALCULATE(MAX(APBI[Effective]))
))
- Se han eliminado los pasos en el editor de consultas para incluir solo el origen
Utilizo un parámetro:
Dejar
Origen: Excel.Workbook(-"Sample File Parameter1", null, true),
Sheet1_Sheet de origen de la fuente [Artículo"Hoja1","Hoja"]-[Datos],
"Eliminadas filas superiores" - Table.Skip(Sheet1_Sheet,2),
"Encabezados Promocionados" - Table.PromoteHeaders(-"Removed Top Rows", [PromoteAllScalars-true]),
"Tipo de cambio" - Table.TransformColumnTypes('Encabezados promocionados",'ID de empleado",'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''escriba any, "Nivel de trabajo", escriba any, "Fecha de contratación", escriba la fecha, "Fecha de servicio continua", escriba fecha, "Tenure", escriba text, "Fecha de la edad", escriba fecha,"Es Rehire", escriba text, "EE_Location", escriba texto, "Tiempo en posición", escriba texto,"Género", escriba text, "ID de administrador", Int64.Type, "EE_Manager", escriba text, "Company", escriba text, "Is Manager", escriba text, "Number of Direct Reports", Int64.Type, "Number of Direct Reports", Int64.Type,"Number of Direct and Indirect Reports", Int64.Type, "Age", Int64.Type, "Grado de compensación", escriba el texto, "Calificación de rendimiento 2017", escriba texto, "Calificación de rendimiento 2018", escriba texto, "Calificación de rendimiento 2019", escriba any, "Rating de rendimiento 2020", escriba any, "Performance Rating 2021", escriba any, "Latest Manager Scorecard" , escriba text, "Manager Scorecard 2019 - Spring", tipo number, "Manager Scorecard 2019 - Fall", escriba any, "Manager Scorecard 2020 - Spring", escriba any, "Manager Scorecard 2020 - Fall", escriba any, "Manager Scorecard 2021 - Spring", escriba any,
"Filas filtradas" - Table.SelectRows("Changed Type", cada uno true)
En
"Filas filtradas"
Y una consulta adicional que agrega en cualquier terminación que falte:
Dejar
Fuente de la fuente de carpetas.archivos("H:-Talent Analytics-TAeP-TP Dashboard Files-Active Power BI"),
"Archivos ocultos filtrados1" - Table.SelectRows(Source, cada [Atributos]?[ ¿Oculto]? <> true),
"Invocar función personalizada1" - Table.AddColumn("Archivos ocultos filtrados1", "Transformar archivo desde Active Power BI", cada "Transformar archivo desde Active Power BI"([Contenido]))
"Columnas renombradas1" - Table.RenameColumns('"Invocar función personalizada1", 'Nombre", "Source.Name"'),
"Eliminado Otras Columnas1" - Table.SelectColumns(-"Columnas renombradas1","Source.Name", "Transformar archivo de Active Power BI"-),
"Columna de tabla expandida1" - Table.ExpandTableColumn('''Eliminar otras columnas1', 'Transformar archivo de Active Power BI", Table.ColumnNames('Transformar archivo de Active Power BI'(''Archivo de muestra')')')')
"Texto insertado antes del delimitador" - Table.AddColumn(-"Expanded Table Column1", "Text Before Delimiter", each Text.BeforeDelimiter([-"Race/Ethnicity"], "(), escriba texto),
"Columnas renombradas2" - Table.RenameColumns("Texto insertado antes del delimitador","Texto antes del delimitador", "RaceEthnicity" )
"Texto insertado antes del delimitador1" - Table.AddColumn(-"Renamed Columns2", "Text Before Delimiter", each Text.BeforeDelimiter([Cost Center], " "), escriba texto), escriba texto),
"Columnas renombradas" - Table.RenameColumns(-"Texto insertado antes del delimitador1","Texto antes del delimitador", "Código"-),
"Texto insertado entre delimitadores" - Table.AddColumn("Columnas renombradas", "Texto entre delimitadores", cada Text.BetweenDelimiters([Source.Name], "Active PBI ", ".xlsx"), escriba texto),
"Tipo modificado" - Table.TransformColumnTypes(-"Texto insertado entre delimitadores","Texto entre delimitadores", tipo date-),
"Columnas renombradas3" - Table.RenameColumns("Changed Type","Text Between Delimiters", "Effective" ? )
"Texto insertado antes del delimitador2" - Table.AddColumn("Renamed Columns3", "Text Before Delimiter", each Text.BeforeDelimiter([Tenure], " "), type text), type text),
"Renamed Columns4" á Table.RenameColumns('"Texto insertado antes del delimitador2",'Texto antes del delimitador", "Tenencia en años"'),
"Changed Type1" á Table.TransformColumnTypes('"Renamed Columns4",'Fecha de contratación",'Fecha de contratación', tipo date', ''Fecha de servicio continua','''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
"Fecha extraída" - Table.TransformColumns(-"Changed Type1",?),
"Consultas combinadas" - Table.NestedJoin('Fecha extraída",'ID de empleado'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
"Expanded 2018 Performance" á Table.ExpandTableColumn('"Consultas combinadas", "2018 Performance", ''Temporary Performance 2018'', ''2018 Performance.Temporary Performance 2018'')
"Consulta anexa" - Table.Combine(-"Expanded 2018 Performance", MissedTerms?),
"Valor reemplazado" - Table.ReplaceValue(-"Consulta anexa","Terminar empleado > ","",Replacer.ReplaceText,"Categoría de terminación"))
En
"Valor reemplazado"
¡Estoy al final de mi ingenio! Parece que no importa lo que intente obtengo el mismo error. Cualquier ayuda sería muy apreciada!!!!
Parece que tiene una(s) fila(s) duplicada(s) de algo diferente (o datos diferentes) en su último archivo. Puede filtrar ese archivo más reciente para confirmar que todo sigue funcionando, pero luego debe averiguar por qué hay un duplicado. Puede considerar la posibilidad de agregar un paso Quitar duplicados en la consulta para deshacerse de él (a nivel de columna o tabla), o puede actualizar el DAX para ignorarlo. Es difícil proponer una solución exacta sin ver el modelo o tener más detalles.
Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
@mahoneypat gracias por la rápida respuesta!
¿Dónde crees que hay una fila duplicada? Tengo filas duplicadas en el archivo missingterms (una fila para contar como un contrato y una para contar como un término). He intentado eliminar los archivos más recientes y todavía estoy recibiendo el mismo error. ¿Alguna otra idea o lugar para buscar?
¡Gracias de nuevo!
También he probado otras dos cosas:
- Borré todas las relaciones en el modelo al archivo APBI - todavía recibiendo el mismo error
- Copiado de la consulta APBI - que parece estar funcionando bien, pero si cambio a esa tendré que volver a crear las columnas calculadas y más de 50 medidas en la copia
¿Ayuda eso a reducir en lo que podría ser el problema en absoluto?
De lo que usted describió y el mensaje de error que usted vio, parece un problema con una de sus columnas calculadas en la tabla APBI. ¿Alguno de ellos utiliza la medida [El último mes]? Empieza por ahí si es así. En cualquier caso, puede averiguar qué columna "codificando" cada una por una. Gire la expresión al código colocando // delante de él o /* ...*/ alrededor de él (su código es los puntos suspensivos) si hay varias líneas. Antes del comentario, solo tiene que devolver cada retorno 1 o algo (mi columna 1 //CALCULATE(... ). Intente actualizar cuando cada columna esté codificada para ver cuál está causando el problema.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
@mahoneypat gracias por la idea! Intenté usar la columna mycolumn 1 //CALCULATE en todas mis columnas calculadas en la tabla APBI y sigo recibiendo el mismo error cuando intento actualizar. Lo único que usa LatestMonth es la medida LatestMonth y no se hace referencia a ellos por otras medidas o columnas. Se ha comprobado dos veces utilizando el método descrito aquí: https://exceleratorbi.com.au/measure-dependencies-power-bi/
¿Alguna otra idea para solucionar problemas?
Aparte de un simple cierre y reabrimiento de su archivo, no más ideas en este momento.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the August 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |