March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Tengo un conjunto de datos generado a través de un script de Python que me da este error ("La referencia al objeto no está establecida en una instancia de un objeto") cada vez que intento actualizar la información más reciente de su fuente.
No parece haber ningún problema con el establecimiento de la conexión o la edición en el Editor de Power Query. Me he asegurado de que no haya valores nulos en ninguno de los registros y he cambiado la configuración de privacidad, pero hasta ahora no he tenido suerte.
Mi informe tiene un modelo semántico (importación de consulta directa) que se usa para todas las demás tablas y tiene una relación con el conjunto de datos de Python que se importa en el archivo.
¿Cuáles son sus recomendaciones para resolver este problema? No tengo una licencia de Microsoft Fabric y me gustaría evitar tener que actualizar o usar una versión de prueba para utilizar un portátil.
A continuación se muestra un ejemplo del script que estoy ejecutando en mi libro de trabajo.
from simple_salesforce import Salesforce
import pandas as pd
sf = Salesforce(
username="xxx",
password="xxx",
security_token="xxx",
)
# Query Salesforce
soql = """
SELECT
Name,
xxx,
Task
FROM Project
"""
results = sf.query_all(soql)
# Extract records and normalize
records = results["records"]
project_tasks = pd.json_normalize(records)
project_tasks = project_tasks.drop(columns=[col for col in project_tasks.columns if 'attribute' in col.lower()], errors="ignore")
# List the columns not aggregated by the unpivot
id_cols = ['Name', 'xxx']
# Perform the unpivot (melt)
melted_df = pd.melt(
project_tasks,
id_vars=id_cols,
value_vars=[col for col in project_tasks.columns if col not in id_cols],
var_name='Task',
value_name='xxx'
)
# Clean up the task names by removing the _Hours suffix and __c
melted_df['Task'] = melted_df['Task'].str.replace('xxx', '')
# Capitalize each word in the task name
melted_df['Task'] = melted_df['Task'].str.title()
# Drop rows where Hours is null
melted_df = melted_df.dropna(subset=['xxx'])
# Fill in melted_df column 'Project Name' blank records with 'No Project Associated'
melted_df['xxx'] = melted_df['xxx'].fillna('No Project Associated')
# Sort by identifier columns and task
melted_df = melted_df.sort_values(by=id_cols + ['Task'])
# melted_df.to_csv('project_tasks.csv', index=False)
# return dataframe
melted_df = melted_df.drop(columns=['xxx'])
print(melted_df)
Por favor, avíseme si necesita más información.
¡Gracias!
¿Cómo se obtiene el token y cómo se asegura de que siga siendo válido?
¿Por qué no utilizar el conector de objetos nativo de SalesForce?
El token es válido ya que mi consulta extrae exactamente lo que quiero para este conjunto de datos. En mi opinión, es más fácil manipular el objeto con Python en lugar de usar el conector de Salesforce.
Sin embargo, tengo curiosidad principalmente por saber por qué tendría el mensaje de error: "La referencia a un objeto no está establecida en una instancia de un objeto".
Eso no parece resolver el problema.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.