TabPy Python脚本“终止日期”

时间:2019-03-04 21:38:31

标签: python tableau tabpy

我正在尝试使用Tableau计算字段来使用我的python脚本。 我的python脚本查询数据库。我目前在Spyder中使用它。

当前我遇到Unterminated Date错误。

,以下几行用红色强调,

#Remove the list comma
bookList = bookList[:-1]

sql = sql.format ("'" + startDate + "'", "'" + endDate +"'", "'" + nodeNames +"'")

print (sql)

df_Cs01 = pd.read_sql(sql,con)

con.close()

return df_Cs01
)

错误消息:

enter image description here

我的python脚本:

import pandas as pd
import pyodbc, os 
import datetime



def GetData (startDate, endDate, nodeNames, server='server'):
    con = pyodbc.connect(r'DSN='+server,autocommit=True)    

    #query removed for simplicity.
    sql = """  e (R.asOfDate >= {0} and R.asOfDate <= {1})
        and R.node = {2}  """

    bookList = ""

    print (nodeNames)
    #loop through the nodeNames
    for nodeName in nodeNames:
        bookList = bookList + "'" + nodeName + "',"


    #Remove the list comma
    bookList = bookList[:-1]

    sql = sql.format ("'" + startDate + "'", "'" + endDate +"'", "'" + nodeNames +"'")

    print (sql)

    df_Cs01 = pd.read_sql(sql,con)

    con.close()

    return df_Cs01

全屏:

enter image description here

我希望在Tableau中显示的预期结果:

+------------+-------+-----------+
|   Date     | Node  |    sum    |
+------------+-------+-----------+
| 04/02/2019 | Stack | -2.90E+06 |
| 05/02/2019 | Stack | -2.90E+06 |
+------------+-------+-----------+

1 个答案:

答案 0 :(得分:1)

您看到的错误是由Tableau Calculated字段中的python注释#号引起的。

Tableau将#符号视为显式声明日期的方法。这是一个示例,可能会导致您看到“未终止日期”错误(请注意该日期之后缺少的#号)的示例:

enter image description here

如果在Tableau Calculated字段中删除注释,则注释应正确编译。