Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers!
Enter the sweepstakes now!Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register 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.
Check out the May 2025 Power BI update to learn about new features.
Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.