日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Tableau上面地图与条形图结合_何为计算的详细级别,认识Tableau中的Level of Detail...

發布時間:2023/12/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tableau上面地图与条形图结合_何为计算的详细级别,认识Tableau中的Level of Detail... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

何為詳細級別

詳細級別,英文Level of detail,Tableau用它來描述計算發生的級別,或者說計算在哪個層級發生。由于BI工具的相似性,在Power BI里也可以用類似的思想對計算進行描述,但Power BI并沒有與之對應的專門的詞匯。不過,理解詳細級別對理解Power BI的計算仍然很有幫助,本文以Power BI為例介紹Tableau中的詳細級別和詳細級別表達式所傳遞的思想,理解它可以幫助你加深對BI工具計算過程的理解。

詳細級別用來描述計算在哪個級別發生,最常見的兩種詳細級別是:
  • Row Level of detail 行詳細級別
  • Visual Level of detail 視覺詳細級別

行詳細級別

行詳細級別的計算發生在數據源所在表的每一行,并且不進行聚合運算。一個典型的行級別運算可以表示為下面的計算列:Sales by row = SuperStore[Unit Price]*SuperStore[Quantity]公式在Superstore的每一行計算單價和數量的乘積,得到每行的銷售額,保存在一個新的列中。因為計算發生在最底層的明細級別,所以行詳細級別的計算粒度最高,聚合度最低(沒有聚合)。在DAX中,我們稱之為受行上下文篩選的計算。需要注意的是,并不是所有在計算列進行的運算都是行級別運算,比如這個公式:Sum of Sales = SUM(SuperStore[Sales])聚合函數SUM忽略行上下文,所以公式得到的是所有銷售額的總和,這是一個聚合運算,不是行級別運算。

視覺詳細級別

將度量值或計算列拖入畫布,視覺級別的計算就發生了。如果把上文定義的SuperStore[sales by row]計算列拖入畫布,選擇卡片圖,結果顯示為一個值。視覺詳細級別的計算受所有維度篩選器的共同影響,因為本例中沒有其他篩選器,所以它不受任何維度的影響,聚合度最高。你可以向畫布或黃色區域增加篩選器,這將改變視覺詳細級別將產品類別加入畫布,修改圖表類型為條形圖,現在[sales by row]?的視圖詳細級別變為產品類別,即,被來自產品類別的篩選上下文影響。由于我們可以在畫布中自由的對維度進行添加和組合,所以視覺詳細級別可以有非常多的變化,從聚合度最高的單個值到明細級別,用一張圖形象的表示:可以看出,從金字塔的頂端到底端,不同的數據詳細級別對應了不同的分析需求。看到這里,你可能會發現一個共性,這些分析都是可以直接通過拖拽的方式生成,這可以回答一些簡單問題,但是無法解決稍微復雜一些的問題。比如,按產品類別計算平均銷售額很容易,如果我們要在當前視圖中查看每個子類別的平均銷售額并只顯示出最大的那個,就不是那么容易了。原因是雖然圖表顯示的還是By類別的平均值,但發生計算的級別已經下降到了子類別粒度而不是默認的類別粒度。或者,如果需要按薪酬區間統計人數,由于區間這個維度本身不包含在原始數據中,計算的詳細級別也會發生變化。想回答這類問題,DAX給我們提供了一個很好的理論框架和一套函數作為工具,而Tableau借助的是圖形用戶界面和詳細級別表達式(LOD Expression)

詳細級別表達式

詳細級別表達式從Tableau 9.0開始加入,在Tableau歷史上這被視為一次里程碑式的更新。為什么詳細級別表達式如此重要?因為它提供了這樣一種可能性:允許用戶在不修改視圖(圖表)的情況下,在計算中指定所需的詳細級別,聚合度可以高于和低于當前視圖使用的詳細級別。也就是說你可以獨立于圖表所使用的詳細級別,自定義另外一套詳細級別來執行計算。

實現了這一功能,才真正打開了分析復雜問題的大門。以剛才的平均銷售額為例,在沒有詳細級別表達式之前,必須向視圖中加入子類別這個維度才能實現,而借助詳細級別表達式,就可以將計算發生的級別定義在公式中。詳細級別表達式的關鍵字類型一共有三種:EXCLUDE、INCLUDEFIXED,它們以不同的方式改變詳細級別的計算范圍。

Include:以較低的詳細級別進行計算

將計算級別指定為低于視覺級別的維度。上面的例子使用Include將平均值的計算從類別維度下移到了子類別。

Exclude:以較高的詳細級別進行計算

忽略指定的級別后進行聚合,一個典型場景是計算每個類別占總計的百分比,分母使用Exclude忽略類別篩選,始終返回總計值。

Fixed:指定確切的詳細級別

FIXED參與的聚合運算只考慮所列出的維度,忽略其他條件。比如當需要從訂單表中找出每個顧客的首次交易記錄時,就需要使用FIXED. 它可以明確定義計算發生的聚合級別。與 INCLUDE 和 EXCLUDE 不同,該關鍵字可獨立于可視化內容所用的維度之外來實現這一目標。FIXED 表達式結果的粒度可能會比可視化詳細級別更低或更高,具體取決于 FIXED維度和可視化詳細級別之間的關系。由于FIXED忽略其他篩選的特性,使用它定義的度量可以直接轉化為維度,很多用過Tableau的Power BI用戶都覺得這種度量轉維度的操作十分方便,其實Power BI里完全可以執行類似的操作,只不過目前沒有圖形界面輔助,手工操作的步驟比較繁瑣。以上是關于Tableau詳細級別表達式的簡要介紹,想了解詳細介紹可以參考Tableau的官方文檔和白皮書,參考文獻的鏈接在文章末尾列出。

有獎競猜

各位讀者,如果你是Power BI用戶,文章到這里并沒有結束,還有一個很重要的問題是:如何在Power BI中實現詳細級別表達式這三個關鍵字的功能?

下面我們模擬一個最簡單的情形,提出三個問題,請你用DAX給出解法,基于Orders表定義如下三個LOD表達式,請用DAX給出對應的解:
  • {EXCLUDE [Customer ID] : SUM([Sales])}
  • {INCLUDE [Customer ID] : SUM([Sales])}
  • {FIXED [Customer ID] : SUM([Sales])}
  • 注:實際使用中,由于視覺維度的設定和LOD表達式所用列數的不同,以及多層LOD的嵌套,都會使問題更加復雜,各位可以自行探索也可以在文末留言交流,這里只用最簡單的情況舉例。解決了這個問題,我們就可以開啟下一道考驗:在Tableau官網上,有這樣一篇非常著名的博文,它從易到難介紹了基于詳細級別表達式的15個應用案例,這些案例涉及的場景和分析的思路都很有參考價值,并且最終的報告制作也十分用心。如果說詳細級別表達式是皇冠,那15個案例就是皇冠上的明珠,下一篇文章我們一起來見證:如何使用Power BI復刻Tableau 15大詳細級別表達式案例參考鏈接:
  • 了解詳細級別表達式白皮書
  • How Level of Detail Expressions Work in Tableau
  • Create Level of Detail Expressions in Tableau
  • What's new in Tableau 9.0? Part 2 – Level of Detail Expressions
  • 【Tableau】詳細級別表達式LOD_詳盡入門(1)
  • 總結

    以上是生活随笔為你收集整理的Tableau上面地图与条形图结合_何为计算的详细级别,认识Tableau中的Level of Detail...的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。