簡體   English   中英

如何計算某個維度使用了多少次 TABLEAU/SQL

[英]How do I count how many times a certain dimension is used TABLEAU/SQL

我試圖計算我的條形碼出現在多個地方的次數。 我試圖將條形碼分為兩類 1) 僅出現在一個業務單元中的條形碼 2) 出現在多個業務單元中的條形碼

在此處輸入圖像描述

我不在乎它們在多個業務部門出現了多少次,只要它確實出現在多個業務部門中就行了

求救

計算有多少字段不是 null。

SELECT *, Abs(NOT IsNull(CH101) + NOT IsNull(CH311) + etc) AS CntBU FROM table;

否則,規范化數據結構以便可以使用聚合查詢。 UNION 可以將數據重新排列為標准化結構,然后在聚合查詢中使用 UNION 查詢。

SELECT BarCode, RecordType, ProductCo, CH101 AS Data, "CH101" AS BU FROM table
UNION SELECT BarCode, RecordType, ProductCo, CH311, "CH311" FROM table
etc

UNION 中的 SELECT 行限制為 50 條。

一種解決方案是基於條形碼(或薄荷,如果首選)字段定義一個集合。 右鍵單擊數據窗格側欄中的條形碼(或薄荷)並創建集。 使用條件定義集合中的成員資格

countd([Business Unit]) > 1

如果條形碼與多個業務單位一起出現,則它們屬於該集合。 您可以在任何架子或計算上使用該集合

為了更簡單的方法來理解 COUNTD() 的工作原理。 在新工作表中,將一個離散字段放在“行”架子上,例如條形碼,然后將“業務單位”放在“列”上。 然后右鍵單擊列架上的業務單元,並使用 COUNTD function 將其從維度轉換為度量。

然后,您應該會看到每個條碼的標記,顯示條碼與數據中出現的不同業務單位的數量。 對於 COUNTD([Business Unit]) = 1 的條形碼,它們僅出現在具有一個特定 [Business Unit] 的數據中

該集合所做的是將與多個業務單位一起出現的條碼與僅與一個業務單位一起出現的條碼區分開來。 將集合視為基於條碼的 boolean function 的一種方式。

您可以在 Tableau 中將集合用於各種事物,在幫助和培訓中進行了很好的描述,但它們對於您的問題並不是必需的(只是方便)解決您的問題的 function 是 COUNTD()。 值得花時間確保你理解它。 在 SQL 中,相當於“COUNT DISTINCT”

最后一點,COUNTD() 有用且重要,但它比其他聚合函數(如 COUNT() 或 SUM())計算量更大。 因此,如果您有非常大的數據集並看到性能問題,請查看對 COUNTD 的調用是否可能是罪魁禍首。 然后,您可以研究以不同方式塑造數據的方法,以避免對 COUNTD() 的需要。 盡管如此,對於大多數中小型數據集, COUNTD() 的便利性超過了任何性能成本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM