Error de valor de Python en la aplicación de escritorio y Power BI

Un usuario Pregunto ✅

beyzakizilkaya

Hola,

Estoy tratando de hacer un pronóstico de serie de tiempo en power bi usando un script de Python.

Cuando ejecuto mi código en power bi desktop con algunos filtros que he aplicado, funciona.

Pero después de publicar el informe en app.powerbi.com y aplicar los mismos filtros con el escritorio, aparece el siguiente error:

Error de tiempo de ejecución de la secuencia de comandos

XXXDate

2016-10-01 1

2016-11-01 0

2016-12-01 0

2017-01-01 0

2017-02-01 0

2017-03-01 0

2017-04-01 1

2017-05-01 1

2017-06-01 0

2017-07-01 0

2017-08-01 0

2017-09-01 0

2017-10-01 0

2017-11-01 0

2017-12-01 1

2018-01-01 0

2018-02-01 0

2018-03-01 0

2018-04-01 1

2018-05-01 3

2018-06-01 1

2018-07-01 0

2018-08-01 0

2018-09-01 2

2018-10-01 1

[S-fa538819-1d04-4ba3-9af7-a2963e25b512]C: Python lib site-packages statsmodels tsa base tsa_model.py: 165: ValueWarning: No se proporcionó información de frecuencia, por lo que se utilizará MS de frecuencia inferida.

% freq, ValueWarning)

Rastreo (llamadas recientes más última):

Archivo «C: Script 0.py», línea 63, en

resultados = model.fit ()

Archivo «C: Python lib site-packages statsmodels tsa statespace mlemodel.py», línea 445, en forma

start_params = self.start_params

Archivo «C: Python lib site-packages statsmodels tsa statespace sarimax.py», línea 969, en start_params

self.k_seasonal_ma, self.polynomial_seasonal_ma

Archivo «C: Python lib site-packages statsmodels tsa statespace sarimax.py», línea 845, en _conditional_sum_squares

X = lagmat (endog, k, trim = ‘ambos’)

Archivo «C: Python lib site-packages statsmodels tsa tsatools.py», línea 408, en lagmat

subir ValueError («maxlag debe ser

ValueError: maxlag debe ser

Además, mi secuencia de comandos de Python es la siguiente:

# The following code to create a dataframe and remove duplicated rows is always executed and acts as a preamble for your script: 

# dataset = pandas.DataFrame(yyy, XXXDate)
# dataset = dataset.drop_duplicates()

# Paste or type your script code here:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from datetime import datetime
from dateutil.relativedelta import *
import matplotlib.dates as mdates
import seaborn as sns
from statsmodels.tsa.arima_model import ARMA
from statsmodels.tsa.statespace.sarimax import SARIMAX
from numpy import cumsum


dataset["XXXDate"] = pd.to_datetime(dataset["XXXDate"], format="%Y-%m")
pvt_table = pd.pivot_table(dataset, values="yyy", index='XXXDate', aggfunc="count")

pvt_table = pvt_table.sort_index()
prev_index = None
total_df = pd.DataFrame()
for index, row in pvt_table.iterrows():
    if prev_index:
        prev_index_datetime = prev_index.to_pydatetime()
        index_datetime = index.to_pydatetime()
        while prev_index_datetime + relativedelta(months=+1) != index_datetime:
            prev_index_datetime = prev_index_datetime + relativedelta(months=+1)
            populate_df = pd.DataFrame.from_dict(
                {"XXXDate": [pd.Timestamp(prev_index_datetime)], "yyy": [0]})
            total_df = total_df.append(populate_df)
    prev_index = index
if total_df.size > 0:
    total_df = total_df.set_index("XXXDate")
    pvt_table = pvt_table.append(total_df)
    pvt_table = pvt_table.sort_index()
    print(str(pvt_table))
 

model=SARIMAX(pvt_table, order=(0,0,1),seasonal_order=(1,1,1,12))
results=model.fit()
residuals=results.resid
mae=np.mean(np.abs(residuals))

forecast=results.get_forecast(steps=12).predicted_mean
#mean_forecast=np.cumsum(forecast) + cr.iloc[-1,0]

plt.subplot(2,1,1)
plt.plot(pvt_table, label="observed",color="green", linestyle="dashed", linewidth=4, marker="o", markerfacecolor="blue", markersize=12)
plt.plot(forecast, label="forecast",color="green", linestyle="dashed", linewidth=4, marker="o", markerfacecolor="cyan", markersize=12)
plt.legend()
plt.show()




¿Este problema puede ocurrir debido a diferentes versiones de bibliotecas entre el escritorio y app.powerbi.com?

Con otra palabra, ¿desktop y app.powerbi.com usan las mismas versiones o versiones diferentes de las bibliotecas en el script de Python? ¿Cuál es la lógica? Si esto no es la causa del problema, ¿hay alguna idea sobre el problema?

Gracias.

Hola @beyzakizilkaya,

Puede consultar el artículo anterior como @ vanessafvg mencionado para referirse primero.

Además, también puede probar las siguientes listas de verificación:

  1. Intente actualizar power bi desktop a la última versión de abril de 2020 para volver a intentarlo.
  2. Intente crear un nuevo informe que sea el mismo que el informe anterior para publicar e intentarlo de nuevo.
  3. Intente publicar el informe en diferentes espacios de trabajo para volver a intentarlo.

Atentamente,
Yingjie Li

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

beyzakizilkaya

En respuesta a v-yingjl

Estimado @ v-yingjl, lamentablemente, los pasos que ha descrito y que he aplicado no funcionaron.

Sigo pensando que el problema puede deberse a que la versión de la biblioteca no coincide.

Necesito respuestas claras y exactas sobre esto.

beyzakizilkaya

En respuesta a v-yingjl

@ v-yingjl Gracias por tu respuesta. Aplicaré sus enfoques de solución y luego daré una actualización si funciona o no.

vanessafvg

¿Esto ayuda en absoluto? https://powerbi.microsoft.com/en-us/blog/python-visualizations-in-power-bi-service/

beyzakizilkaya

En respuesta a vanessafvg

@vanessafvg Gracias por su respuesta, pero necesito las versiones compatibles de las bibliotecas de Python y también necesito comprender cómo los informes que se crean con scripts de Python se publican en app.powerbi.com. la misma versión de las bibliotecas con el escritorio powerbi?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *