我最近買了一個專業許可證(來自個人),我將一些數據加載到postgreSQL中。這是我第一次使用數據庫,但我已經閱讀了很多關於它們的信息(SQL Demystified,Data Warehouse)在Postgres中爲Tableau連接存儲計算列是否很糟糕?
我對.csv文件的習慣是在原始數據中創建計算數據。我使用pandas(python分析庫)來清理我的文件,添加列,進行連接等。這幫助我簡化了Tableau中的一些計算字段,並且我的最終用戶有時會打開這些文件,並且擁有額外的字段很不錯。
例如: 在熊貓中,我可以創建一個基於某些邏輯和其他列上的數學的列。這會在原始數據中創建一個「冗餘」的列,因爲它可以被計算出來。
或者我可以使用Tableau中的IF語句或LOD計算來計算該值。我已經讀過,創建可以計算的列並將它們存儲在數據庫中是不可能的。另一方面,Tableau爲持久和常見的值做額外的工作/計算似乎有點愚蠢。
(實施例,inbound_interaction = 1,如果某列=「入」和另一列=不爲空)(實施例2,TOTAL_TIME =幾列的總和)
在這個問題上任何想法或最佳做法?由於本週我剛剛開始新鮮,所以我不妨開個好頭。
我會考慮將計算值存儲在數據庫中的權衡取決於計算值所需的數據和時間,例如我會考慮將餘額值存儲在帳戶表中,儘管我可以通過遍歷事務列表來計算餘額。當然這需要付出代價,因爲現在數據庫可能會變得不一致。避免任何計算的值存儲可以保持數據庫的一致性,但是這需要每次需要計算值時進行計算。 –