03 最難理解的上下文

2021-10-07 06:20:10 字數 1270 閱讀 2389

在power bi中,表是由行和列構成的,我們的上下文也分為兩種:

篩選上下文和行上下文

我們之前接觸的都是:篩選上下文

提到「篩選條件」就是篩選上下文

什麼是行上下文:

例如:新建列,公式=[銷售數量]+10

當前所在行,將每一行的銷售數量都加上10

我們把每節課都用到的度量值放在商品表中新建列試試:

銷售總量= sum(『銷售明細表』[銷量數量] )

行上下文是商品表中的當前行,而銷售總量是銷售明細表中的銷售數量那一列的總計。它是兩張表。總結:商品表的行上下文不影響銷售明細表輸出的銷售數量合計的結果,所以這一列都是乙個數字。回到模型中看一下商品表和銷售明細表的關係是一對多。那為什麼沒有算出每個商品應有的銷售數量呢?我們建立模型了?

行上下文本身沒有篩選功能,要達到篩選這個目的,必需借助我們的引擎:calculate函式

計算銷售明細表中數量的總和,它的行上下文是當前所在行

所以:行上下文不會自動轉換成篩選上下文。

借助我們的引擎:calculate函式

新銷售總量=calculate(sum(『銷售明細表』[銷量數量]))

例子:需求:每一天果汁銷售量大於100杯的門店

銷售c = calculate([銷售數量],filter(『店名表』,[銷售數量]>100 ))

初始篩選條件:每一天,門店

不能是銷售c = calculate([銷售數量],filter(『店名表『,sum(『銷售明細表』 [銷售數量])>100 ))

原因

filter函式是行上下文函式:

行上下文不會自動轉換成篩選上下文,所以公式sum(『銷售明細表』 [銷售數量])>100 並沒有受到行上下文的影響,它計算的是銷售數量那一列的數量合計。

度量值都自帶calculate函式的功能!

銷售總量= sum(『銷售明細表』[銷量數量] )

[總金額]、[總毛利額]等

等同於calculate(sum(『銷售明細表』[銷量數量] ))

1.行上下文不會自動轉換篩選上下文,要轉換,必需套乙個calculate引擎。

2.度量值天生就是calculate函式。

程序上下文與中斷上下文的理解

一.什麼是核心態和使用者態 使用者態 使用者程式執行空間。1.程序上下文 1 程序上文 其是指程序由使用者態切換到核心態是需要儲存使用者態時cpu暫存器中的值,程序狀態以及堆疊上的內容,即儲存當前程序的程序上下文,以便再次執行該程序時,能夠恢復切換時的狀態,繼續執行。2 程序下文 其是指切換到核心態...

程序上下文與中斷上下文的理解

使用者態 使用者程式執行空間。1.程序上下文 1 程序上文 其是指程序由使用者態切換到核心態是需要儲存使用者態時cpu暫存器中的值,程序狀態以及堆疊上的內容,即儲存當前程序的程序上下文,以便再次執行該程序時,能夠恢復切換時的狀態,繼續執行。2 程序下文 其是指切換到核心態後執行的程式,即程序執行在核...

程序上下文與中斷上下文的理解

使用者態 使用者程式執行空間。1.程序上下文 1 程序上文 其是指程序由使用者態切換到核心態是需要儲存使用者態時cpu暫存器中的值,程序狀態以及堆疊上的內容,即儲存當前程序的程序上下文,以便再次執行該程序時,能夠恢復切換時的狀態,繼續執行。2 程序下文 其是指切換到核心態後執行的程式,即程序執行在核...