2014-07-17 97 views
1

有點背景: 我有兩個從excel導入的表。一個是300k +行,所以當我在Excel中進行更新時,它運行速度太慢,並且通常不會在我的配置文件中進行處理。無論如何,我用一個'外'左連接將兩者結合在一起。 現在,當我運行查詢時,我得到的結果工作正常,但我需要添加一些字段到這些結果。連接和訪問比例

我希望模仿我在excel中所做的事情,所以我可以用同樣的方式創建我的總結樞軸。

首先,我需要一個字段,在連接之後只連接兩個其他字段。

然後我需要添加一個字段相當於: 1/Countif($T$2:$T$3330,T2)從excel到access。但是,範圍不需要固定。我會得到它,以便所有的文本條目都在該領域的頂部,所以理論上,我需要相當於Sheets("").Range("T2").End(xldown)。當我做數據透視表時,這個比例用於消除重複計數。

我可能做得比它要複雜得多,但我對Access也是新手,所以請嘗試在解釋中解釋一些事情。

感謝

編輯:我目前有:

Select [Table1].*, [Table2].PlaySk, [Table2].Service 
    From [Table1] Left Join [Table2] On [Table1].Play + [Table1].Skill 
    = [Table2].PlaySk 

而在一般情況下,我試圖解決的是一些事來報復ColAB和ColProportion。

ColA  ColB  ColAB  ColProportion 
a   1   a1    .5 
b   1   b1    1 
a   1   a1    .5 
b   2   b2    .3333333 
b   2   b2    .3333333 
b   2   b2    .3333333 
+1

編輯您的問題並顯示您當前擁有的查詢。 –

回答

0

聽起來對我來說,你需要按順序做幾個查詢來做你需要的一切。

雖然第一部分(連接)相對比較簡單 - 只需將兩個字段名稱拼接在一起,例如[Play]和[Skill],然後在設計視圖中創建一個新字段,如「PlaySk :[播放] & [技能]「。如果你想在它們之間插入一個字符(我經常在連接時做,只是爲了保持直線),比如分號,你可以做「PlaySk:[Play] &';' & [技能]「。

至於第二部分,我想你會想在另一部分上建立一個「分組依據」查詢。在你原來的查詢中,在設計視圖中創建另一個字段,如下所示:「T2_Counter:Iif([你正在檢查的字段,即任何列T是] ='你正在檢查的任何值,即任何T2是',1 ,0)」。這將導致在檢查爲真時列爲1,否則爲零。

然後把這個查詢放到一個新的查詢中,在設計標籤的頂部點擊「Totals」,然後把你想分組的區域放下。然後在設計視圖中創建一個字段,如下所示:「MagicField:1/Sum(T2_Counter)」。

希望這有助於讓你至少開始。

+0

感謝您的回覆。與countif相同,它會改變檢查值嗎? – user3697498

+0

我用一個例子對原作進行了一些編輯。看看這個比例將如何依賴於它的左邊的價值? – user3697498

+0

@ user3697498 T2_Counter不會影響它正在檢查的值,這就是爲什麼您創建一個單獨的字段,而不會影響您的原始數據。我在上面看到您的編輯,但仍然難以想象這個問題。你可以發表一些來自Table1和Table2的樣本記錄(包括所有相關的字段名稱),然後告訴我們你最終的輸出是什麼樣的? –