什麼是 Python 中的自我:真實世界的例子
什麼是 Python 中的自我:真實世界的例子
在此博客中,我將比較 LuckyTemplates 計算列和度量,然後介紹它們的一些差異。您可以在本博客底部觀看本教程的完整視頻。
我還將向您展示可以使用其中任何一個的最佳情況。
目錄
創建計算列
我將首先在 LuckyTemplates 中創建一個計算列。如果您有 Excel 背景,這可能是您最熟悉的內容。
在 Excel 中,您習慣於獲取數據表,輸入一些 Excel 公式,然後從頭再來,直到獲得所需的結果。
您也可以在 LuckyTemplates 中執行此操作。
如您所見,我所擁有的 Sales 表中並沒有那麼多信息。
但是,在我的 Products 表中,有很多我可以使用的有用信息,例如產品的當前價格、產品成本等。
我將在 Sales 表中添加一個計算列,然後找到一個公式或函數,使我能夠將 Products 表中的信息片段帶到 Sales 表中。然後我會把它放在那個計算列中。
模型是我能做到這一點的重要原因。我建立的這個模型使我能夠實現這樣的事情。
要在 LuckyTemplates 中創建計算列,請單擊新建列。
我打算將此列命名為“價格”。
在公式欄中,我將“列”更改為“價格”。
我要開始添加我需要的公式。
首先,我將使用函數,該函數從另一個表返回相關值。
在 RELATED 函數中,輸入“Current Price”,從 Products 表中選擇“Current Price”列,然後關閉後面的括號。
基本上,我所做的是將值從 Products 表中的 Current Price 列轉移到計算列。我通過引用 RELATED 函數中的 Current Price 列來做到這一點。
此 Sales 表的每一行代表一個事務。
請注意,在輸入公式後,現在會顯示與每筆交易中購買的每種產品相對應的價格。
我還可以添加一個新的 LuckyTemplates 計算列,我將其稱為收入。
為此,請再次單擊新建列。
然後在公式欄中,將列更改為收入。
輸入價格,然後單擊 Sales 表中的價格列以引用它。
這樣做之後,我將把這一列中的值乘以數量列中的值。
我將輸入乘法運算符“ * ”並從“銷售額”表中選擇“數量”列。
我通過引用價格列然後將其乘以數量列在銷售表中添加了收入列。
要像我在這裡所做的那樣將附加信息添加到您的表中,您將需要創建大量計算列。
但是,LuckyTemplates 的優點在於,如果您正確設置了模型,則無需執行此操作。您可以在這些度量值中使用度量值和DAX 函數,而不是計算列。
雖然計算列確實有其用途,但將它們放在事實表中並不是真正的優化方式。
但是,在查找表中使用計算列確實有意義。我稍後會解釋為什麼。
但在此之前,我將向您展示度量在 LuckyTemplates 中的工作原理。
創建措施
首先,我要抓取客戶的姓名,然後將其拖到畫布上。
然後,我將通過單擊“可視化”選項卡中突出顯示的圖標將其轉換為表格。
現在,我將編寫一個公式作為度量,向您展示我還可以計算我之前獲得的 Revenue 數字,而無需在事實表中添加數據點。
在 Fields 選項卡中,在 Sales 表下,我可以看到我之前創建的 Revenue 列。
我要抓住這一列並將其拖到表格中。
這樣做之後,我現在可以看到我從每個客戶那裡獲得的收入。
我不希望你在 LuckyTemplates 中執行此操作。當您想將一些計算帶入您的視覺對象時,抓住一列並將其拖到您的視覺對像中並不是正確的方法。
使用措施進行計算是更優化的做法。
我只是將該列拖到我的表中,以檢查我是否真的可以使用措施獲得相同的結果。
與計算列有很大不同的度量就像虛擬計算。
當 LuckyTemplates 計算列運行計算然後將數據嵌入到表中時,度量值僅在您將其放入視覺對象時運行計算。
這是一種在不佔用空間的情況下在模型中完成大量計算的驚人方法。
現在,我將向您展示衡量指標的工作原理。首先,轉到“主頁”選項卡,然後選擇“新建度量”。
我打算將此度量稱為總銷售額。
我要使用的第一個函數稱為,這是一個迭代函數,它返回為表中的每一行計算的表達式的總和。
要添加此功能,我將按鍵盤上的 Shift + Enter 鍵轉到新的一行,然後輸入 SUMX。
如您所見,該函數要求我輸入一個表和一個表達式。
該函數將遍歷一個表,然後運行一個表達式或邏輯,具體取決於您在函數中輸入的內容。
在這裡,我將使用現有的 Sales 表。
在函數內部,我將輸入 Sales,然後單擊 Sales 表以引用它。
對於表達式,我將遍歷 Sales 表。然後在每一行,我將把 Quantity 列的值乘以 Products 表中 Current Price 列的值。
就像我之前所做的那樣,為了從 Current Price 列中檢索值,我需要使用 RELATED 函數。
為此,輸入 Quantity,然後從 Sales 表中選擇 Quantity 列。然後在後面輸入乘法運算符“*”。
現在,要從 Current Price 列中獲取值,請輸入 RELATED 函數。在其中,輸入 Current Price,然後從 Products 表中選擇 Current Price 列。
RELATED 函數從另一個表(在本例中為 Products 表)返回一個相關值。
我設置的公式(如上所示)對您來說可能很熟悉。這正是我在計算列中為獲得收入數字所做的。
這裡的主要區別在於,在度量中,計算是虛擬完成的。這意味著它運行相同的邏輯,但不需要我在事實表中添加任何數據點。
按 Enter 後,您現在可以在“字段”選項卡下的“銷售額”表的前端看到該度量。
當名稱旁邊有一個計算器圖標時,您就會知道它是一個度量。
抓住 Total Sales 度量,然後將其拖到表中。
您會看到我得到了完全相同的結果,而沒有在我的事實表中添加數據點。以更優化的方式完成的。
現在,正如我之前所說,我不建議將列拖到您的視覺對像中。我將通過單擊 X 刪除 Revenue 列,如下所示。
因為我可以在沒有我之前創建的計算列的情況下計算收入,所以我將刪除它們,因為我真的不需要它們。
首先,我將刪除 Revenue 列。
然後,我還將刪除價格列。
模型中的每個數據點都會佔用一些內存。在較小的模型中,擁有不必要的數據點並不是什麼大問題。
但有時您會遇到具有數百萬行的模型。在那種情況下,我們會在數百萬我們並不真正需要的行上浪費一些內存。
在這個特定的表中,我有 15,000 行。通過刪除表中不需要的數據點,我優化了我的模型。我刪除了許多不需要的行。
現在,我制定的總銷售額指標是完全動態的。我會告訴你為什麼。
在 Fields 選項卡下,抓住 Salesperson 表,並將其拖到視覺對像中。
之後,我將通過單擊下圖中突出顯示的圖標來添加過濾器。
在此過濾器中,您可以看到每個銷售人員的總銷售額。
讓我們選擇 Carl Elliott。
你可以看到數字發生了變化。這些新數字現在代表您從 Carl Elliott 銷售的產品中獲得的總銷售額。
您可以通過單擊“總銷售額”列的標題對這些數字進行排序。
這是通過單擊“可視化”選項卡下突出顯示的圖標獲得的另一種可視化表示。
如果我們在銷售員切片器中選擇 Ernest Wheeler,我們會從他銷售的產品中獲得總銷售額。
正如您所觀察到的,每次我們更換銷售員時,數字或視覺效果都會發生變化。
這就是為什麼措施是動態的。所有計算實際上都是在幕後進行的,具體取決於上下文。
這只是一個公式。您仍然可以將許多 DAX 公式用於各種目的。
如果你很好地使用 DAX 度量並將它們與正確的模型結合起來,你幾乎可以計算出你夢寐以求的任何東西。
如果您不了解模型內部發生的情況,您將開始認為您需要編寫更複雜的 DAX 公式。但是,如果您設置好模型,DAX 很容易實現。
DAX當然不簡單。但它的學習曲線並沒有那麼大,特別是如果你知道如何正確設置你的模型。
現在,作為另一個示例,我將創建一個新度量。
在“主頁”選項卡中,單擊“新建度量”。
我將把這個新度量命名為總數量。在公式欄中,將度量更改為總數量。
在這個度量中,我將計算我銷售給每個客戶的產品總量。
為此,我將使用,這是一個將列中所有數字相加的函數。在 SUM 函數中,我將引用 Sales 表中的 Quantity 列。
這就是我設置公式的方式。
發生的事情是該函數將我們的數量列中的所有數字相加。我基本上是在計算已售出產品的數量。
現在,抓住字段選項卡下的總數量度量,並將其拖到表中。
這樣做之後,您現在可以看到您向每位客戶銷售的產品數量。
如果您想查看已售出產品的明細,並查看您向每個客戶銷售了哪些產品,您可以將“產品名稱”列拖到“值”選項卡。
所以現在,我根據客戶和產品名稱對總銷售額和總數量進行了細分。這只有通過我設置的數據模型才能實現。
正確使用計算列
我想向您展示的最後一件事是在 LuckyTemplates 中的何處使用計算列。計算列有助於構建您的切片和過濾可能性。
由於您所有的交易都在您的模型的基礎上,這也是您的事實表,所以所有的計算都在那裡完成。
另一方面,模型的頂部部分(即查找表)會根據您放入計算中的邏輯來過濾所有計算。
例如,我將轉到 Dates 表。
例如,我想根據月份過濾我的計算。但出於可視化目的,我希望月份的名稱簡短,因此我將只使用月份名稱的前 3 個字母。
因為我的 Dates 表中沒有那個 Short Month 過濾器,所以我要創建一個。
通過單擊新列將新列添加到日期表。
由於我想將此列命名為 Short Month,因此我將在公式欄中將 Column 更改為 Short Month。
然後,我將使用函數從文本中返回指定數量的字符。
輸入 LEFT 函數,然後在其中引用日期表中的 MonthName 列。輸入 3,因為我們只需要月份名稱的前 3 個字母。
這就是我設置公式的方式。
該公式採用 MonthName 列中每個值的前 3 個字母,並將其返回到我們剛剛創建的 Short Month 列。
這就是我構建過濾表的意思。
在這裡,您實際上不能使用 DAX 度量,因為不涉及計算。
因此,要構建您將用於過濾計算的列,您需要使用計算列。
現在讓我們使用我剛剛創建的列來過濾掉我們之前的計算。
在 Fields 選項卡下,抓住 Short Month 列並將其拖到您的表中。
要使用“短月份”列創建過濾器,請單擊“可視化”選項卡下突出顯示的圖標,如下所示。
現在,如果您選擇某個月份,您可以看到根據您當月的銷售額過濾計算。
下面是一個示例,如果您選擇一月作為短月過濾器。
如您所見,短月份過濾器中的月份並未真正整理出來。要解決此問題,請返回 Dates 表。您可以看到可用於對過濾器進行排序的 MonthOfYear 列。
要對過濾器進行排序,請選擇短月份列,轉到列工具選項卡,選擇按列排序,然後單擊 MonthOfYear 列。
之後,您會看到您的過濾器現在處於正確的順序。
了解如何獲取 LuckyTemplates 切片器選擇以在其他度量中使用 將
工作日和周末日期數字放入 LuckyTemplates 中的日期表中
顯示截至當前日期或 LuckyTemplates 中特定日期的結果
結論
在此博客中,我介紹了 LuckyTemplates 計算列和 DAX 度量之間的差異。我還討論了使用其中任何一個的最佳方式。
在您的計算中,使用 DAX 度量會更有效。您可以在不在事實表中添加數據點的情況下執行它們。
但是,在構建將用於過濾計算的查找表時,使用計算列是有意義的。
我希望這對你的分析有所幫助,我很高興你能同時使用這兩者!
祝你有美好的一天!
什麼是 Python 中的自我:真實世界的例子
您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。
在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。
本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。
在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。
我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。
了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。
本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。
如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。
什麼是 LuckyTemplates 網關?所有你必須知道的