簡體   English   中英

TABLEAU 計算的現場優化

[英]TABLEAU CALCULATED FIELD OPTIMIZATION

我有一個名為 FirstSale 的計算字段,我在其中觀察了銷售超過 80% 庫存的產品的第一個實例。

我查看產品 ID 和時間戳(轉換為字符串)以及已售庫存的百分比。

如何優化此查詢以不依賴於這么多字段或如何將其轉換為 SQL 查詢。

計算字段邏輯:

    IF STR[SaleDate]) = 
    {FIXED [ID], {FIXED [ID], STR([SaleDate]), [Inventory %]:
    IF MIN([Inventory %]) > 0.8
    THEN 1 ELSE 0 END}: MIN([STR(SaleDate]))}
    THEN 1 
    END

數據看起來像這樣

在此處輸入圖片說明

如果有產品 ID、銷售日期、庫存百分比,最后一列(1 和 0)是計算字段。

本質上,目標是僅當 ID 顯示 Inventory % > 80% 時,計算才應返回 1。 在所有其他情況下,返回 0。

例如,查看第二個 ID,唯一應該為 1 的值組合是 October 28 (2020083008056, October 28 2020, 84.00%, 1 ),所有其他值都應該返回 0。

所以第二個 ID 的全額回報將是

(2020083008056, October 28 2020, 84.00%, 1 )
(2020083008056, October 29 2020, 84.36%, 0 )
(2020083008056, October 30 2020, 84.67%, 0 )
(2020083008056, October 31 2020, 84.67%, 0 )

我重新創建了一些示例數據來解決您的問題。 如果我沒有誤解你的 LOD 計算應該非常簡單。 我們來看一下。

重新創建示例數據

在此處輸入圖片說明

添加了一個 CF 只是為了檢查庫存銷售額是否大於或等於 0.80,並將其添加到查看以創建您顯示的數據。

在此處輸入圖片說明

現在添加您desired field計算為

{FIXED [Prod id] : MIN(
IF [Greater than 80]=1 then [Date] end)} = [Date]

將此字段添加到查看/過濾器應該符合您的目的。 看見

在此處輸入圖片說明

仍然如果你想要回報為 0 或 1 使用這個計算代替

IF {FIXED [Prod id] : MIN(
IF [Greater than 80]=1 then [Date] end)} = [Date] 
then 1 else 0 end

暫無
暫無

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

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