2016-08-04 106 views
0

我是Spotfire新手,希望您能提供幫助。我有超過280,000行的Excel工作表,因此當我運行公式時,我的Excel工作表變得極其緩慢。我希望Spotfire能夠提供幫助。 我想達到的是這樣的:醫生在2015年支付一定的金額,然後在2016年收回完全相同的金額。我期待識別這些在2015年支付並在2016年交易中收回只有從280,000行。下面的圖片顯示了Excel中正面和負面的示例。 enter image description hereSpotfire計算的列

使用列D,L,N & J我使用了一個SUMIFS公式來標識列O中的正負事務,其偏移量爲零。 Spotfire能否在計算列中實現同樣的功能,而不會使計算機的速度變慢?

下面是我到目前爲止在Spotfire中沒有太多,但我很新,Synax對我來說是新的。 enter image description here 計算後的列是否可以在日期列後面出現,並確定2015年和2016年的正數和負數偏移爲零?任何幫助將不勝感激。謝謝

第一步enter image description here

沒有回來在第3列 enter image description here

這是我用來實現什麼,我需要在Excel中的長鏡頭年齡處理公式,但它的工作原理。我們可以採用這個公式到Spotfire嗎? enter image description here

+0

您可以將一些數據從excel複製/粘貼到原始文章中文字更好地幫助。 – scsimon

回答

1

您可以通過使用over子句進行聚合來實現此目的。如果您可以粘貼數據集的文本版本,那麼我們可以確保我們完全正確地使用它,但這裏是關於您想要的。

獲得每個客戶2015年的總和。此公式規定付款的年份是2015年,然後按客戶ID將所有金額列和組進行總計。

If(DatePart("year",[Date of Payment])=2015,Sum([Amount]) OVER ([CustomerID])) as [2015CustomerTotal] 

獲取2016年的總和爲每一個客戶

If(DatePart("year",[Date of Payment])=2016,Sum([Amount]) OVER ([CustomerID])) as [2016CustomerTotal] 

然後你可以檢查他們是否歸零。

If([2016CustomerAmount] - [2015CustomerAmount] = 0,True,False) 

所以我得到了以下工作(V爲自己感到驕傲)

If(DatePart("year",[Date of Payment])=2015, True,False) 

從上面我需要知道的是,當有在2016年負繼續和它匹配的正2015年的金額和[自然]和[客戶ID]列ID匹配然後返回我「GOT YOU」或「1」:-)任何幫助將不勝感激。

不知道爲什麼這不工作

CASE WHEN ([Amount]>0) AND (DatePart("year",[Date of Payment])=2015) Then "GOT YA" 

想通了

CASE WHEN [Amount]>0 AND (DatePart("year",[Date of Payment])=2015) Then "GOT YA" else "No GOT" end 

好了,所以我們取得了一些我覺得:-) 所以下面現在告訴我在哪裏在2015年有付款

CASE WHEN [Amount]>0 AND (DatePart("year",[Date of Payment])=2015) Then "1" else "0" end 

下面這裏現在告訴我在2016年

CASE WHEN [Amount]<0 AND (DatePart("year",[Date of Payment])=2016) Then "1" else "0" end 

好,那裏有帶回一個陰性量或錢,所以我增加了一個視覺以更好地描述我的問題。我想定製功能要做的是:2015年支付中有1個,[2016年支付中]有1個,[客戶ID]保持不變,1 [2015年支付]和1 [reimburse 2016]中的1將[數量]列偏移爲零,然後在新列中顯示我「1」else「0」 enter image description here

+0

嗨,scsimon。感謝您花時間回覆。我會很高興粘貼一個TXT,但我不知道如何做到這一點:-(也在哪裏輸入你給我的代碼,我沒有任何下降的自定義表達式與此Visual類型。再次抱歉作爲一個完整的初學者和謝謝 –

+1

不用擔心@PhilipConnell要插入一個計算列,在Spotfire的工具欄上點擊'Insert> Calculated Column'並確保你正在粘貼它以獲取正確的數據集。 – scsimon

+0

嗨,所以我有需要插入計算的列,客戶ID是紅色的,我附加了一張新的圖片作爲視覺。再次感謝您的幫助...這是客戶和ID之間的空間如何在代碼框中輸入代碼 –