Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
Syndicate_Admin
Administrator
Administrator

Conjunto de datos de Python "Referencia a objeto no establecida en una instancia de un objeto"

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!

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

¿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.

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.