Power BI-计算列,该列计算同一表中的行并且不忽略切片器

时间:2018-11-19 16:48:26

标签: powerbi

我有一个包含列的表:

from tkinter import *
import sqlite3
import tkinter.messagebox

# connect to database
conn = sqlite3.connect("RMS.db")
c = conn.cursor()
c.execute("CREATE TABLE IF NOT EXISTS driverlevel(level text, age text)")
conn.commit()
conn.close()



# tkinter window
class Application:
    def __init__(self, master):
        self.master = master

        # Creating frames in the master
        self.left = Frame(master, width=200, height=60, bg="grey")
        self.left.pack(side=LEFT)

        self.right = Frame(master, width=0, height=0, bg="grey")
        self.right.pack(side=RIGHT)

        # labels for window
        self.driverlevel = Label(self.left, text="Driver Level:", font="calabri 12 bold", fg="white", bg="grey")
        self.driverlevel.place(x=1, y=2)

        # Entries for left window
        self.driverlevel_ent = Entry(self.left, width=20)
        self.driverlevel_ent.place(x=5, y=27)

        # Save Button
        self.submit = Button(self.left, text="Add", font="calabri 12 bold", fg="white", bg="grey", command=self.addlevel)
        self.submit.place(x=140, y=15)

    def addlevel(self):
        self.val1 = self.driverlevel_ent.get()

        if self.val1 == "":
            tkinter.messagebox.showinfo("Warning", "Please Enter a Value")
        else:
            #sql = "INSERT INTO driverlevel (Level) VALUES(?,)"
          #  conn = sqlite3.connect("RMS.db")
          #  c = conn.cursor()
          #  c.execute("INSERT INTO driverlevel(level)VALUES(?)", (self.val1,))
           # conn.commit()
           # tkinter.messagebox.showinfo("Success", "Driver Level Added")

            conn = sqlite3.connect("RMS.db")
            c = conn.cursor()
            sql = "INSERT INTO 'driverlevel' (Level) VALUES(?)"
            c.execute(sql, (self.val1,))
            conn.commit()
            conn.close()

            tkinter.messagebox.showinfo("Success", "Driver Level Added")


# objects
root = Tk()
b = Application(root)
root.geometry("200x60+0+0")
root.resizable(False, False)
root.title("Add Driver Level")

root.mainloop()

我在表的切片器中使用emails = re.findall(r'^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$',s) Year, Month, Datetime, Action, CustomerId

我需要一个计算列,该列计算当前行中具有YearMonthCustomerId的所有行。

在SQL中,我将使用

Action = CustomerId

为什么我做的时候会忽略切片器的过滤器

Action

有人可以在这里帮助我吗?

1 个答案:

答案 0 :(得分:1)

计算的列不受切片器的影响,因为每次更新查询时,它们只会被评估一次。

如果您想对过滤器做出响应,则需要使用度量。

这是一篇很好的总结文章,区分了两者:

http://radacad.com/measure-vs-calculated-column-the-mysterious-question-not