VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

利用VFP做出二維表

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
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. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
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 樓

發表發表於: 星期一 十月 06, 2008 7:38 pm    文章主題: 引言回覆

vfp 內建樞紐分析表.
http://vfp.sunyear.com.tw/viewtopic.php?t=2858

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
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
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 雅虎訊息通 MSN Messenger
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 來解決問題
意外發現,欄位命名的問題,和欄位位數的問題
後來自己有沒有再用比較合理的方法來解決,忘了
順便一提
用二維表格方法,最後還是要以報表方式來呈現
所以基本上
在報表上作手腳(多欄的報表),就不會有二維表格這個問題發生了
討論群有類似的討論
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
ruby



註冊時間: 2003-06-03
文章: 25


第 10 樓

發表發表於: 星期二 五月 12, 2009 4:29 pm    文章主題: 引言回覆

你可以參考這篇說明或搜尋vfpxtab.prg或搜尋_genxtab
http://vfp.sunyear.com.tw/viewtopic.php?p=10783&sid=f6cb146dd2bca9c04acabf3f9e26cc3e

_________________
ruby
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作