我有一個巨大的 CSV 資料檔案,它生成 500,000 多行和 70 多列,對這么多資料運行 Excel 查詢會導致我的桌面崩潰。作為替代方案,我設法將 CSV 匯入 Access。在我作為“雙”欄位型別匯入的進一步計算中,我需要查看/考慮的大多數資料欄位。我想第一個問題是我應該使用單而不是雙嗎?我正在考慮的值只會報告到小數點后 2 位。
在匯入的表中,我創建了一些新列,因為我需要驗證基礎值的總和是否等于報告的總數。
5 個基礎列的總和(稱為 SUMofService)[輔助成本] [附帶成本] [一次性成本] [持續成本] [交易成本]
我還沒有查看所有 500,000 行,但這個公式似乎正確地總結了這些值。
使用這個值,我創建了一個新列,將這個總數與報告中的總數進行比較
IIF([SUMofService] = [總服務],"匹配","不匹配")
這似乎也可以按預期作業,但在某些情況下此欄位回傳 false。查看它們匹配的 [SUMofService] 和 [TotalService] 中的基礎數字,所以我很困惑為什么我會看到錯誤的結果。
任何人都可以查看我詳細介紹的內容,并可能就我是否錯誤地考慮了某些事情提供了指導。
可能有更好的方法來實作我想要做的事情,但我從學校開始就沒有真正使用過 Access,你在 30 年內忘記了很多!
任何回復都非常感謝 - 我已經盡可能多地搜索了這個,但不是 100% 要問什么,有些回復遠遠超出了我的思維水平。
uj5u.com熱心網友回復:
我應該使用單而不是雙嗎?我正在考慮的值只會報告到小數點后 2 位。
兩者都不。使用貨幣。
這也將為以下方面提供正確的結果:
IIF([SUMofService] = [Total Service],"Match","No Match")
使用 Double 或者實際上是 Single 會導致浮點錯誤——就像這個經典的例子:
? 10.1 - 10.0
9.99999999999996E-02
' thus:
? 10.1 - 10.0 = 0.1
False
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/525740.html
標籤:if 语句毫秒访问逻辑表达
上一篇:在某些條件下迭代兩個向量最多十次
下一篇:有沒有辦法簡化if陳述句的塊?