簡體   English   中英

我的 Tableau 計算字段計算天數時出錯

[英]Error in my Tableau calculated field for counting days

我正在嘗試根據 active_flag 計算項目的天數。 如果活動標志為真,則應計算從 end_day 到今天的天數。 如果活動標志為假,則應計算從 end_day 到最后一個觀察日期 (ob_date) 的天數。 以下是我的嘗試:

if active_flag = True then datediff('day',[end_date],TODAY()) 
elseif active_flag = False then datediff('day',[end_date], max([ob_date])) end

有錯誤的計算窗口

我看到了錯誤,所以我正在尋找有關如何重寫此計算以獲得所需結果的建議。

您經常遇到此錯誤“無法混合聚合和非聚合”。 這是因為您使用“結束日期” (非聚合)調用了max(aggregate) )。 LOD 有助於處理此類情況。 所以正確的代碼是

if active_flag then datediff('day',[end_date],TODAY()) 
else datediff('day',[end_date], {max([ob_date])}) end

通過在最大值計算之前編寫花括號腳本,我們已強制 Tableau 計算引擎在“Ob_date”列中查找所有值的最大值。

LOD 可以提升我們的計算能力。 有興趣的可以看看這個🔗

暫無
暫無

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

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