Page 2 of 2

Re: อยากตัดข้อความให้เหลือเฉพาะ Email

Posted: Sat Feb 05, 2022 3:54 pm
by wisitsakbenz
เรียน อาจารย์

1.Email ที่ลงท้ายด้วย Email --> Samitivej.co.th จะมีหลาย Group ครับ
2. ถ้ามีอีเมลนี้เข้ามาในระบบจะใช้หลักการใดเพื่อแยกว่าอยู่ Group ใดมาด้วยครับ
- ถ้ามี Email : SVNH.Agentassist@samitivej.co.th เข้ามา จะจัดใน Group --> Agent
- ถ้ามี Email : sathin.so@samitivej.co.th, ravitsakul.wo@samitivej.co.th, Naruechol.Ch@samitivej.co.th ,
poramaphorn.ch@samitivej.co.th จะจัดใน Group --> Med Assist & Insurance
- Email Samitivej.co.th อื่นๆ นอกเหนือจากนี้ จะจัดใน Group -->Internal

รบกวนอาจารย์ด้วยครับ ขอบคุณครับ

Re: อยากตัดข้อความให้เหลือเฉพาะ Email

Posted: Sat Feb 05, 2022 4:47 pm
by snasui
:D ที่เขียนมาไม่มีอีเมลไหนอยู่หลาย Group ครับ

และต้องเข้าใจเสียใหม่ว่า หลาย Group คืออีเมลหนึ่ง ๆ อยู่หลาย Group ที่เขียนบรรยายมานั้น ไม่ว่าจะลงท้ายด้วยอะไรก็ไม่เรียกว่าอีเมลหนึ่ง ๆ แต่จะเป็นกลุ่มอีเมล ซึ่งไม่เกี่ยวกับสิ่งที่ผมพยายามสื่อไปแต่อย่างใด ผมพูดถึงอีเมลเดี๋ยว ๆ ครับ

สิ่งควรทำคือสร้างรายการเช่นใน Excel ที่แนบมาเป็น Master Data จะกี่หมื่นหรือกี่แสนรายการก็ควรทำไว้ แล้วดึงเข้าไปใน Power BI เพื่อนำ Group ไปแสดงครับ

ในการทำงานจริงรายการที่มีเข้ามาใหม่ ไม่ว่าจะลงท้ายอีเมลด้วยอะไรถ้าแตกต่างไปจากที่เคยมีก็ต้องเพิ่มรายการเข้าไปครับ

Re: อยากตัดข้อความให้เหลือเฉพาะ Email

Posted: Sat Feb 05, 2022 5:22 pm
by snasui
wisitsakbenz wrote: Sat Feb 05, 2022 9:18 am เรียน อาจารย์

ทำตามที่อาจารย์บอกแล้วครับ
มันจะติด ตรงที่ Group ของ BDMS กับ internal คือ Email ที่ลงท้ายด้วย bdms.co.th, samitivej.co.th จะอยู่ใน 2 Group นี้ ซึ่งจะเป็น Email ของพนักงานมันมีเยอะมากครับ และ Email List ของ email Group individual นั้น อยู่นอกเหนือจาก email ที่กำหนด Group ทั้งหมด

รบกวนอาจารย์แนะนำด้วยครับ ขอบคุณครับ
:D จากโพสต์ที่ผมยกมาด้านบน ไฟล์ที่แนบมาได้ทำตรงกับที่ผมแจ้งไปแล้ว เพียงแต่ถ้ามีอีเมลใดเพิ่มเข้ามาก็ต้องไปเพิ่มรายการในไฟล์ Gateway.xlsx เพื่อระบุ Group แล้ว Refresh เพื่อดึงรายการเข้าไปใหม่ครับ

ถ้าข้อมูลมีมากเกิน 1 ล้านบรรทัดก็ต้องทำแยกชีตหรือแยกไฟล์ก็แล้วแต่ถนัด อาจจะทำการ Merge Query เพื่อนำข้อมูลจากทุกชีตมาต่อกัน ฯลฯ ครับ

Re: อยากตัดข้อความให้เหลือเฉพาะ Email

Posted: Sat Feb 05, 2022 5:54 pm
by wisitsakbenz
เรียน อาจารย์

อยากเรียน ปรึกษา
ถ้า List ของ email ที่ จะต้อง fix group ให้ มีแค่นี้
Email อื่นนอกเหนือจากนี้ไม่ว่าจะเป็น Email อะไรให้เป็น individual ทั้งหมด
ในกรณีที่ทำเป็นตาราง email และ email group เราจะต้องทราบ email ที่จะเข้ามา แล้วคอยเพิ่มเองตลอด ถ้าเข้ามาเป็นหมื่นๆ email คงเพิ่มไม่ไหว
ถ้าเราใช้คำสั่ง if ที่ทางผมได้เขียน มันจะง่ายกว่าหรือไม่ครับ ขอบคุณครับ

Re: อยากตัดข้อความให้เหลือเฉพาะ Email

Posted: Sat Feb 05, 2022 7:42 pm
by snasui
:D ตัวอย่าง DAX ครับ

Code: Select all

=
    var eml = [Email]
    var mai = "sathin.so@samitivej.co.th|ravitsakul.wo@samitivej.co.th|Naruechol.Ch@samitivej.co.th|poramaphorn.ch@samitivej.co.th"
    var rs = If(eml = "SVNH.Agentassist@samitivej.co.th","Agent",if(Iferror(Search(eml,mai),-1)>0,"Med Assist & Insurance","Internal"))
return
    rs

Re: อยากตัดข้อความให้เหลือเฉพาะ Email

Posted: Sun Feb 06, 2022 2:33 pm
by wisitsakbenz
เรียน อาจารย์

หากต้องการให้ Email ที่ลงท้ายด้วย bdms.co.th --> Email Group เป็น "BDMS" และ
Email ที่ลงท้ายด้วย samitivej.co.th --> Email Group เป็น "Internal"

Code: Select all

    var rw = "bdms.co.th"
    var rz = "samitivej.co.th"
    var ru = If(Iferror(Search(eml,rs),-1)>0,"Agent",if(Iferror(Search(eml,mai),-1)>0,"Med Assist & Insurance",if(Iferror(Search(eml,rt),-1)>0,"SIM",if(Iferror(Search(eml,rw),-1)>0,"BDMS",if(Iferror(Search(eml,rz),-1)>0,"Internal",if(eml= "webmaster@samitivej.co.th","Web Site","Individual"))))))
return
    ru
 
ต้องปรับ Code อย่างไรครับ ขอบคุณครับ

Re: อยากตัดข้อความให้เหลือเฉพาะ Email

Posted: Sun Feb 06, 2022 3:01 pm
by snasui
:D จากการกำหนดตัวแปรบางส่วน คือ

var eml = Email[Email 2] ตัวแปร eml มีครบทั้งข้อความก่อนเครื่องหมาย @ และหลังเครื่องหมาย @ คือจะอยู่ในรูปแบบ aaa@bbb
var rw = "bdms.co.th" ตัวแปร rw เป็นนส่วนท้ายของอีเมล์ คือจะอยู่ในรูปแบบ bbb

และจาก Statement ที่นำไปปรับใช้คือ if(Iferror(Search(eml,rw),-1)>0,"BDMS"

แปลว่าหากพบ eml ใน rw ให้แสดง ค่า BDMS

จากตัวแปรด้านบน eml คืออีเมลแบบครบทุกส่วนประกอบ ส่วน rw คือส่วนท้ายของอีเมล จึงเป็นไปไม่ได้ที่จะพบ eml ใน rw

Statement นี้ if(Iferror(Search(eml,rw),-1)>0,"BDMS" จึงควรเขียนเป็น if(Iferror(Search(rw,eml),-1)>0,"BDMS" คือต้องสลับตำแหน่งกัน ส่วนใดก็ตามที่มีลักษณะเช่นนี้จะต้องเปลี่ยนใหม่ทั้งหมดครับ

Re: อยากตัดข้อความให้เหลือเฉพาะ Email

Posted: Sun Feb 06, 2022 3:15 pm
by wisitsakbenz
เรียน อาจารย์ Snasui

ได้แล้วครับ ขอบคุณมากเลยครับ ได้ทั้งความรู้และวิธีการคิดเลย