Text Veri Alma ve Kritere Göre Sayfalara Aktarma

Text Veri Alma ve Kritere Göre Sayfalara Aktarma

  • Konuyu başlatan Konuyu başlatan tukayf
  • Başlangıç tarihi Başlangıç tarihi

tukayf

Kullanıcı
Katılım
27 Ocak 2019
Mesajlar
155
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Değerli hocalarım yine bana ait bir konu olan iki satır arası veri alma isimli başlıkta sorularım çözüme ulaştı ancak yaptığımız işleri daha da kısaltmak ve otomatik hale getirmek istiyorum.
Kullandığımız program bizlere .log uzantılı metin belgesinde verileri çıktı olarak veriyor.

Biz bu metin belgesini excele aldıktan sonra öncelikle içerisinde -stop loss #****- şeklinde olan verileri filtreleyip metni sütunlara dönüştürdükten sonra sadece oradaki rakamları alıyoruz.

Daha sonra ise tüm aldığımız tüm verileri gene metni sütunlara dönüştür ile sadece bizim işimizi yarayacak kısmını alıyoruz.

Bu işlemden sonra Sn Ömer BARAN'ın kodları ile
VBA:
İndirmek için giriş yapmanız gerekmektedir.
(9 satır)
B den itibaren listeletiyoruz. DAha sonra ise yine Ömer Bey'in kodları ile buy ve sell sayfalarına aktarıyoruz. Sizden ricam eğer mümkünse bu işlemleri daha da kısaltmak ve otomatikleştirmek.

1607166704017.webp

1607166770662.webp

1607166866138.webp

1607166943720.webp
 
Çözüm
Tamam ben cevabı vereyim en iyisi.

İşlem süresi, benim emektar bilgisayarda 20-24 saniye.
Sizin bilgisayarınızdaki süre sonucunu iletirseniz sevinirim.

VBA:
İndirmek için giriş yapmanız gerekmektedir.
(15 satır)
Merhaba,
Daha kısası ilgili log dosyasını excele hiç almadan, ihtiyaç duyulan verinin doğrudan log dosyasından alınmasılya olabilir.
 
Anlıyorum hocam. Dış veri al dediğim zaman .log uzantısını görmüyor ancak .txt uzantılarını ise görüyor. Bu nedenle yanıldım sanırım.
 
O şekilde değil. İlk mesajımda belirttiğim gibi excel sayfasına hiç veri alınmayacak, makro ile diziye aldırılıp dizi üzerinde işlem yapılırsa çok hızlı olacaktır.
Ufak bir log dosyası paylaşır hangi verileri istediğinizi belirtirseniz üzerinde çalışılabilir.
 
Sn. Ömer Bey istediğim log dosyası içerisinde stop loss #**** şeklinde değerler var. Ve open buy #****, open sell #**** şeklinde değerler var.
Örneğin Stop loss #189 değeri var. Buy #189 ya da sell #189 değeri varsa bunları buy ve sell sayfalarına aktaracak. Aktaralıcak kısım ise buy-sel ile başlayıp modify dahil olan kısım.
1607171645684.webp

1607171832366.webp

Umarım anlatabilmişimdir.
 

Ekli dosyalar

  • log.rar
    log.rar
    1.3 MB · Görüntüleme: 5
Merhabalar Sayın @tukayf,

Bir süre forumla çok ilgilenememiştim.
Konuyu gördüm, bir kodlama da hazırlamıştım ama gönderme fırsatım olmamıştı.

Ekteki belgede bir uygulama mevcut olup, deneyip, sonuçlarını yazarsınız.
Geri bildirim olarak özellikle işlem süresiyle ilgili bilgi verirseniz sevinirim.

Belgede kullanılan kodlar aşağıda gösterilmiştir.

İyi çlışmalar dilerim.

VBA:
İndirmek için giriş yapmanız gerekmektedir.
(60 satır)

.
 

Ekli dosyalar

Birinci öncelik DOĞRULUK . Sonuç doğru mudur?
Bulduğunuz çözümün süresini de iletir misiniz?
Ben eklediğiniz belgedeki sorguyu çalıştıramadım, SQL işinden de anlamadığım için bakamadım.
 
Hocam sonuçlar doğru ondan yana sıkıntı yok. Süre de gayet makul bir süre.
Power Query çözümünde ise log dosyası, log klasöre içerisinde olacak ve resimde görülen hücreye yolu yazıldıktan sonra Veri>>Tümünü yenile dedikten sonra sorgu çalışıyor.

1607265738871.webp
 
Yazdığım gibi, SQL ile ilgili bilgim yok. Ben sonuç alamadım malesef.
A2'ye log dosyasının yolunu (excel belgesi de aynı yerde zaten) yazdım.
Ancak güncelle deyince sırayla aşağıdaki durumla karşılaştım.

PowerQuery işlem süresi nedir?
Verdiğim kodla, 339.000 satırlık veri üzerinden 20 saniye civarında sonuç alınması heç fena değil galiba.

1607266744272.webp
 
Tekrardan merhabalar hocam. Süre olarak çok iyi manuel olarak günler alıyordu bu işlem ve insanı bıktırıyordu.
Sizde hata verme sebebi emin olmamakla birlikte sanırım 2013 versiyonu power query i desteklemiyor. Çünkü 2016 ve 2019 sürümlerinde çalışıyor. Tekrardan teşekkürler.
 
Tekrardan merhabalar. Sn. Hocam yine aynı konuda yardımınıza ihtiyacım var. Önceki cevabınızla çözmeye çalıştım ancak yapamadım. Yine text (log) dosyasından buy ve sell sayfalarına veri aktarmak istiyorum.

0 01:48:42.637 2021.01.06 01:00:00 Mum Stratejiler EURUSD,H1: Strategy:1182212 Win/Loss:86.6667 PnL:15 BUY (x==18 && y==22 && z==12)||
0 01:48:42.876 2021.01.06 01:00:00 Mum Stratejiler EURUSD,H1: Strategy:2132512 Win/Loss:86.6667 PnL:15 SELL (x1==13 && y1==25 && z1==12)|| şeklinde satırlar var ben bu satırdaki kalın yazıyla olan kısımlarını buy ve sel sayfalarına aktarmak istiyorum. Buy (x== ile başlıyor sell ise (x1== ile başlıyor.
 

Ekli dosyalar

Tekrar merhaba Sayın @tukayf,

Önceki dosyadaki yapıya göre aşağıdaki kodu,
-- sayfadaki düğmeyle ilişkilendirerek veya
-- yeni bir düğme/şekil ekleyip bununla ilişkilendirerek
çalıştırın.

VBA:
İndirmek için giriş yapmanız gerekmektedir.
(39 satır)
 
Hocam yanıt için çok teşekkürler. Log da satır sayısı çok fazla 5 milyon civarı bunu belirtmeyi unutmuşum inşallah sorunsuz çalışır. PC başına geçer geçmez dönüş yapacağım. Selamlar
 
Son isteğiniz diğerinden çok farklı.
Aslında FİLTER özelliği de kullanılabilirdi ama levcut kodda değişiklik yaparak bu hale getirdim.
Eski koddaki ana çatıyı değiştirmek istemedim.
 
Hocam çok teşekkürler. Ancak şöyle bir sıkıntı çıktı. Buy sayfasında verilerin bir kısmını
#YOK olarak getiriyor. Sanırım dosya boyutunun büyüklüğünden kaynaklı normal bir dosyada anında işlem yapıyor. Kodlar çok hızlı.​
 
Bir kısmını derken aralarda satırlar mı yoksa son kısım mı?
Son kısım ise kaçıncı satırdan itibaren bu durum oluşuyor?

Veri miktarını buna göre elle çoğaltıp (büyük veri iletebilirsiniz bununla uğraşmış da olmam) denemek için soruyorum.
 
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst Alt