當前位置:編程學習大全網 - 熱門推薦 - 如何用VFP6.0進行統計分析,主要是分類求和或平均值。數據較大有60萬條左右。

如何用VFP6.0進行統計分析,主要是分類求和或平均值。數據較大有60萬條左右。

對當前選定表的指定數值字段或全部數值字段進行求和。

SUM [eExpressionList] [Scope] [FOR lExpression1] [WHILE lExpression2]

[TO MemVarNameList | TO ARRAY ArrayName] [NOOPTIMIZE]

參數

eExpressionList

指定要總計的壹個或多個字段或者字段表達式。如果省略字段表達式列表,則總計所有數值型字段。

Scope

指定要總計的記錄範圍。範圍子句有:ALL、NEXT nRecords、RECORD nRecordnumber 和 REST。關於作用域子句的詳細內容,請參閱聯機主題 scope(作用域)子句 或 語言概述。

SUM 默認的範圍是所有記錄 (ALL)。

FOR lExpression1

指定對邏輯條件 lExpression1 值為“真”(.T.) 的記錄才進行總計。包含 FOR 子句可以有條件地總計記錄,篩選出不想要的記錄。

如果 lExpression1 是壹個可優化表達式,那麽 Rushmore 可以優化 SUM ... FOR 命令。為了獲得最佳性能,請在 FOR 子句中使用可優化表達式。

關於 Rushmore 優化的詳細內容,請參閱 SET OPTIMIZE 和 用 Rushmore 查詢優化數據訪問速度。

WHILE lExpression2

指定壹個條件,在當前表中只對邏輯表達式 lExpression2 為“真” (.T.) 的記錄進行總計。

TO MemVarNameList

將每個總計值存入壹個內存變量。如果 MemVarNameList 中指定的內存變量不存在,則 Visual FoxPro 自動創建,列表中的內存變量名用逗號分隔。

TO ARRAY ArrayName

將總計值存入內存變量數組中,如果在 sum 命令中指定的數組不存在,則 Visual FoxPro 自動創建;如果數組存在但太小,不能包含所有的總計值,那麽自動增加數組的大小以存放總計值。

NOOPTIMIZE

禁止 SUM 的 Rushmore 優化。

詳細信息, 參見SET OPTIMIZE 和 用 Rushmore 查詢優化數據訪問速度。

示例

下面的示例顯示 products 表中的 in_stock 字段和 on_order 字段的總計,以及這兩個總計的和。

CLOSE DATABASES

OPEN DATABASE (HOME(2) + 'data\testdata')

USE products && 打開 Products 表

SUM in_stock, on_order, in_stock+on_order ;

TO gnInStock, gnOnOrder, gnUnits

CLEAR

'庫存總數 : ', gnInStock && 顯示 3119.00

'訂貨總數 : ', gnOnOrder && 顯示 780.00

'總單位 : ', gnUnits && 顯示 3899.00

計算數值表達式或字段的算術平均值。

AVERAGE [ExpressionList] [Scope] [FOR lExpression1] [WHILElExpression2]

[TO VarList | TO ARRAY ArrayName] [NOOPTIMIZE]

參數

ExpressionList

指定求平均值的表達式。ExpressionList 可以是用逗號分隔的表字段或包含表字段的數值表達式。

Scope

指定求平均值的記錄或記錄範圍。只有在指定範圍內的記錄才參加求平均值運算。Scope 子句可以為 :ALL、NEXT nRecords、RECORD nRecordNumber 和 REST。默認的 Scope(範圍)為所有記錄。

包含 Scope 子句的命令僅處理活動工作區中的表。

FOR lExpression1

指定只有滿足邏輯條件 lExpression1 的記錄才參與計算。這樣可以篩選出不想要的記錄。

如果 lExpression 是可優化的表達式,Rushmore 技術將優化 AVERAG FOR 查詢。若要獲得最佳性能,應在 FOR 子句中使用可優化的表達式。有關 Rushmore 可優化表達式的詳細內容,請參閱 SET OPTIMIZE 和 用 Rushmore 查詢優化數據訪問速度。

WHILE lExpression2

指定只要邏輯表達式 lExpression2 為“真”(.T.),記錄就參與運算。直到遇到第壹個使 lExpression2 計算得“假”(.F.) 為止。

TO VarList

指定保存平均值結果的內存變量或數組元素的列表。

TO ARRAY ArrayName

指定保存平均值結果的壹維數組。壹維數組可以在使用 AVERAGE 命令前創建。

如果指定數組不存在,Visula FoxPro 將自動創建該數組。如果數組存在,但大小不能包含所有結果,Visula FoxPro 將自動根據信息量增加數組大小。

NOOPTIMIZE

取消 AVERAGE 命令的 Rushmore 優化。有關的詳細內容,請參閱 SET OPTIMIZE 和 用 Rushmore 查詢優化數據訪問速度。

備註

除非包含可選的表達式列表,否則選定表的所有字段都將參與求平均值的運算。如果 SET TALK 為 ON,結果顯示在屏幕上。如果 SET HEADINGS 為 ON,字段名或包括字段名的表達式將顯示在結果的上面。

示例

CLOSE DATABASES

OPEN DATABASE (HOME(2) + 'Data\testdata')

USE orders && 打開 order 表

CLEAR

AVERAGE Order_Amt && 計算所有訂單的平均值

AVERAGE Order_Amt TO gnAvg && 保存平均值到內存變量

'平均訂貨數: '

gnAvg && 再次顯示平均值

  • 上一篇:YY語音的鮮花怎麽增多啊
  • 下一篇:百度DNS是什麽意思
  • copyright 2024編程學習大全網