上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
huan388
註冊時間: 2007-07-29 文章: 10
第 1 樓
|
發表於: 星期一 十月 06, 2008 4:37 pm 文章主題: 利用VFP做出二維表 |
|
|
各位大哥好
跟各位請教該如何用程式把類似以下以下資料變成二維表
類似做出EXCEL的樞紐分析表
假設有表 TABLE_A 第一列為欄位名稱 資料如下
月份 單位 金額
------------------
9702 東區 100
9702 西區 200
9703 東區 300
我想將單位的內容變成欄位名稱 變成如以下的表
月份 東區 西區
----------------
9702 100 200
9703 300 0
其中單位可能有幾百種 每次出現也不一定
我知道用EXCEL樞紐分析表很容易
有沒有辦法 再DBF就顯示成這種型態呢
非常感謝大家 |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4212 來自: Taipei,Taiwan
第 2 樓
|
發表於: 星期一 十月 06, 2008 4:54 pm 文章主題: |
|
|
先用 excel 作好再轉成dbf. XD _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1644
第 3 樓
|
發表於: 星期一 十月 06, 2008 5:17 pm 文章主題: |
|
|
Vfp9 中 的 Tool-Task Pane - Solution Samples-Active X-Automation-Manipulate display characteristics of a graph
有範例 |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2157
第 4 樓
|
|
回頂端 |
|
|
chilin
註冊時間: 2003-10-01 文章: 79 來自: Taipei,Taiwan
第 5 樓
|
發表於: 星期一 十月 06, 2008 8:42 pm 文章主題: |
|
|
SELECT 0
SELECT 單位 FROM TABLE_A GROUP BY 單位 INTO CURSOR TC_COL
_VFP=[SELECT 月份]
SCAN
_FNAME=ALLTRIM(TC_COL.單位)
_VFP=_VFP+[,SUM(IIF(單位=']+_FNAME+[',1,0)*金額) AS ]+_FNAME
ENDSCAN
USE IN TC_COL
_VFP=_VFP+[ FROM TABLE_A GROUP BY 月份 INTO CURSOR TC1]
SELECT 0
&_VFP
BROW _________________ 一個喜愛Latte的男人 |
|
回頂端 |
|
|
huan388
註冊時間: 2007-07-29 文章: 10
第 6 樓
|
發表於: 星期一 十月 13, 2008 5:28 pm 文章主題: |
|
|
chilin兄
很感謝你
你那段程式碼就是我想要的
這邊高手真的很多
其他大哥也一併感謝啦 |
|
回頂端 |
|
|
goodnight
註冊時間: 2008-10-13 文章: 472 來自: 台南市
第 7 樓
|
發表於: 星期二 四月 28, 2009 7:54 pm 文章主題: |
|
|
chilin 寫到: | SELECT 0
SELECT 單位 FROM TABLE_A GROUP BY 單位 INTO CURSOR TC_COL
_VFP=[SELECT 月份]
SCAN
_FNAME=ALLTRIM(TC_COL.單位)
_VFP=_VFP+[,SUM(IIF(單位=']+_FNAME+[',1,0)*金額) AS ]+_FNAME
ENDSCAN
USE IN TC_COL
_VFP=_VFP+[ FROM TABLE_A GROUP BY 月份 INTO CURSOR TC1]
SELECT 0
&_VFP
BROW |
請問一下 , 有沒有人知道
_VFP=[SELECT 月份]
這段的目的為何, 我用 VFP9 執行會發生 DATA TYPE MISMATCH |
|
回頂端 |
|
|
chilin
註冊時間: 2003-10-01 文章: 79 來自: Taipei,Taiwan
第 8 樓
|
發表於: 星期三 四月 29, 2009 8:41 pm 文章主題: |
|
|
範例中TABLE_A 檔案結構如下:
CREATE CURSOR TABLE_A (月份 C(4),單位 C(4),金額 N(6))
欄位:月份 及 單位 都是字串型態
請將 _VFP 變數顯示出來看便知曉
WAIT WINDOW _VFP
OR
STRTOFILE(_VFP,[C:\SQL.TXT]) _________________ 一個喜愛Latte的男人 |
|
回頂端 |
|
|
bin1x
註冊時間: 2004-08-27 文章: 462
第 9 樓
|
發表於: 星期五 五月 01, 2009 1:29 pm 文章主題: |
|
|
這種東西
我一開始的作法是
create 一個temp cursor 或檔案
用個邏輯判斷屬於那欄的就寫到那邊,不過我會事先group by 起來
(效率可能會比較好)
後來
我用了另外一種寫法就是(先決條件是知道多少單位)
select "東區",sum(金額),"西區",0 where 單位 ="東區"
union all;
select "東區",0,"西區",sum(金額) where 單位 ="西區"
類似像這樣
很白痴,只是想完全用sql 來解決問題
意外發現,欄位命名的問題,和欄位位數的問題
後來自己有沒有再用比較合理的方法來解決,忘了
順便一提
用二維表格方法,最後還是要以報表方式來呈現
所以基本上
在報表上作手腳(多欄的報表),就不會有二維表格這個問題發生了
討論群有類似的討論 |
|
回頂端 |
|
|
ruby
註冊時間: 2003-06-03 文章: 25
第 10 樓
|
|
回頂端 |
|
|
|