[英]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.