簡體   English   中英

使用 Spotfire 中另一個表中的數據在一個表中創建計算列?

[英]Create calculated column in one table using data from another table in Spotfire?

很抱歉問這個問題,我看到了一些類似的問題,但不幸的是我並不真正理解給出的答案。 我對 Spotfire 還很陌生。

我正在嘗試根據另一個表中的數據在一個表中創建一個計算列。 第一個表(我正在嘗試添加新列)是公司擁有的所有合同的月度數據普查。 每份合約都有一行。 稱之為“月表”。 第二張表是所有合約的完整交易歷史,因此每個合約可以有數百行。 稱之為“總表”。

我不確定是否可以鏈接數據表。 我讀了一些類似的問題,將帶有數據的表中的列插入到新列將去的表中,或者預先合並它們,但是每月表有大約 13,000 行,而總表有 550,000 行,所以我不是確定這將如何工作。

如果交易類型(也在總表中)等於某個字符串,我正在嘗試創建一個列來匯總每個合同的所有交易金額。 就像“迄今為止的凈交易”列。 我在總表中成功創建了這一列,但隨后滿足條件的合約的每個單元格都有交易金額。 我希望它在月表中,每個合約只有一行,並且只顯示一次總和。 這是我的代碼:

IF( Concatenate([Contract_Number],"(交易類型字符串)",[Month],Year([Date])) =[Type], Sum([Amount]), NULL)

它目前在總表中。 如果可能的話,我希望它在月表中,並且 [Number] 和 [Date] 列引用月表,而 [Type] 和 [Amount] 引用總表。

抱歉,如果信息太多或令人困惑! 我也知道我的求和有問題(它對所有事務求和並且只顯示在正確的行中,但它只需要對正確的行求和),但我想我可以弄清楚,我只需要幫助得到它在右表中。

我目前正在將流程/工作簿從 Excel 轉換為 Spotfire。 如果有幫助,我可以在 Excel 中提供用於此過程的當前公式。

經過幾個小時的修補,我想通了! 我想我會解釋一下我在這里做了什么,以防其他人遇到類似的難題。

TLDR; 在總表中創建所需的列,並將新列添加到月度表中,並在合同號上使用左單聯接。

我的月份和日期與一個文檔屬性相關聯,該屬性是我的月度表中唯一日期值的下拉列表。 在總表中,我使用了與上面鍵入的代碼類似的代碼,但我沒有直接引用 Date 列,而是引用了文檔屬性,因此它將月表中的日期提取到總表中。 我也從 IF(condition, SUM()) 轉換為 SUM(IF()) OVER()。 這最終總結了正確的值。 例如,每個合約可能有五種不同類型的交易,但我只想要兩種類型的總和。 這導致顯示正確的總和。 總和顯示在與新列中正確合約編號對應的每個單元格中,因此(在同一示例中)在所有 5 個合約 #1 行中,顯示了兩種正確類型的總和。

然后,我轉到我的月度表的數據畫布,並添加了新列。 我選擇了左單聯接,因為每個合同在新表中只有一行,因此正確的總和只會顯示一次。

最終結果代碼:

SUM(IF(Concatenate([Contract_Number],"type-string",[Month_ValDt],[Year_ValDt]) = 
    [Type], [Amount],0)) OVER ([Contract_Number])

其中 [Month_ValDt] 和 [Year_ValDt] 是我在總表中創建的新列,它們顯示與月度表中的日期相關聯的文檔屬性中的月份和年份。

該屬性的原因是我們有幾年的數據,但我被告知要使其動態化,因此一次只能看到一個月的數據,因此下拉。

暫無
暫無

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

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