Forum Discussion

tamiribas's avatar
tamiribas
Resolver I
1 year ago
Solved

Error message in Power Query: NameError: name 'dataset' is not defined

Hi, 

I have a very simple static demo table

CategoryAmount
A1
B

2

 

That table is my source.

I am trying to add a Python script right after the source step.

That script adds the totals of the [Amount] column but am getting an error.

 

Python code:

import pandas as pd
total_sum = dataset['Amount'].sum()
dataset['Total'] = total_sum
result = dataset

 

error:

We encountered an error while trying to connect

Details: "ADO.NET: Python script error.
<pi>NameError: name 'dataset' is not defined
</pi>"

 

Any advice would be appreciated,

 

Thank you,

Tamir

  • Thank you lbendlin ,

    Although unnecessary, that line just returns another dataset (the default "dataset" and "result")

    The problem was that I was missing the parameter that assigned the step to the dataset.

    In your M code, it is this: 

    [dataset=#"Changed Type"]

    Once I added that parameter to my M code, it worked.

     

    Regards, 

    Tamir

2 Replies

  • Drop the last line. Python scripts by default return the "dataset"  frame back to you.

     

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTJUitWJVnICsoyUYmMB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Category = _t, Amount = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Amount", Int64.Type}}),
        #"Run Python script" = Python.Execute("# 'dataset' holds the input data for this script#(lf)total_sum = dataset['Amount'].sum()#(lf)dataset['Total'] = total_sum",[dataset=#"Changed Type"]),
        dataset = #"Run Python script"{[Name="dataset"]}[Value]
    in
        dataset

     

  • Thank you lbendlin ,

    Although unnecessary, that line just returns another dataset (the default "dataset" and "result")

    The problem was that I was missing the parameter that assigned the step to the dataset.

    In your M code, it is this: 

    [dataset=#"Changed Type"]

    Once I added that parameter to my M code, it worked.

     

    Regards, 

    Tamir