หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ถ้าคุณกําลังใช้การแปลข้อมูล คุณสามารถเพิ่มการสนับสนุนการแปลสําหรับคอลัมน์แบบข้อความในตารางปฏิทินได้ ตารางเหล่านี้รวมถึงการแปลสําหรับชื่อของเดือนหรือวันในสัปดาห์ วิธีนี้ช่วยให้คุณสามารถสร้างวิชวลที่กล่าวถึงวันหรือเดือนได้
เวอร์ชันที่แปลทําให้วิชวลอ่านง่ายในภาษาที่รองรับของคุณ
กลยุทธ์ในบทความนี้สําหรับการแปลคอลัมน์ตารางปฏิทินใช้ Power Query และภาษาคิวรี M Power Query มีฟังก์ชันที่มีอยู่แล้วภายใน เช่น Date.MonthName
ซึ่งยอมรับ Date
พารามิเตอร์และส่งกลับชื่อปฏิทินแบบยึดข้อความ ถ้าโครงการ .pbix ของคุณมี en-US เป็นภาษาและตําแหน่งที่ตั้งเริ่มต้น ฟังก์ชัน Power Query ต่อไปนี้จะประเมินเป็นค่าข้อความของเดือนมกราคม
Date.MonthName( #date(2023, 1, 1) )
ฟังก์ชันยอมรับ Date.MonthName
พารามิเตอร์สตริงที่เป็นตัวเลือกที่สองเพื่อส่งผ่านภาษาและตําแหน่งที่ตั้งเฉพาะ
Date.MonthName( #date(2023, 1, 1), "en-US")
ถ้าคุณต้องการแปลชื่อเดือนเป็นภาษาฝรั่งเศส คุณสามารถส่งผ่านค่าข้อความของ fr-FR ได้
Date.MonthName( #date(2022, 12, 1), "fr-FR")
สร้างตารางการแปลปฏิทิน
ดูที่ ตารางภาษา ที่ใช้ในตัวอย่างก่อนหน้านี้ ซึ่งรวมถึงคอลัมน์ DefaultCulture
Power Query ถูกสร้างขึ้นบนภาษาคิวรีที่ใช้งานได้ที่ชื่อว่า M ด้วยภาษานั้น คุณสามารถทําซ้ําๆ ผ่านแถวของ ตารางภาษา เพื่อค้นหาภาษาและวัฒนธรรมเริ่มต้นที่โครงการสนับสนุน คุณสามารถเขียนคิวรีที่ใช้ ตาราง Languages เป็นแหล่งข้อมูลเพื่อสร้างตารางการแปลปฏิทินด้วยชื่อของเดือนหรือวันในสัปดาห์
นี่คือรหัส M ที่สร้าง ตารางชื่อเดือนที่แปล
let
Source = #table( type table [ MonthNumber = Int64.Type ], List.Split({1..12},1)),
Translations = Table.AddColumn( Source, "Translations",
each
[ MonthDate = #date( 2022, [ MonthNumber ], 1 ),
Translations = List.Transform(Languages[DefaultCulture], each Date.MonthName( MonthDate, _ ) ),
TranslationTable = Table.FromList( Translations, null ),
TranslationsTranspose = Table.Transpose(TranslationTable),
TranslationsColumns = Table.RenameColumns(
TranslationsTranspose,
List.Zip({ Table.ColumnNames( TranslationsTranspose ),
List.Transform(Languages[Language],
each "MonthNameTranslations" & _ ) })
)
]
),
ExpandedTranslations = Table.ExpandRecordColumn(Translations,
"Translations",
{ "TranslationsColumns" },
{ "TranslationsColumns" }),
ColumnsCollection = List.Transform(Languages[Language], each "MonthNameTranslations" & _ ),
ExpandedTranslationsColumns = Table.ExpandTableColumn(ExpandedTranslations,
"TranslationsColumns",
ColumnsCollection,
ColumnsCollection ),
TypedColumnsCollection = List.Transform(ColumnsCollection, each {_, type text}),
QueryOutput = Table.TransformColumnTypes(ExpandedTranslationsColumns, TypedColumnsCollection)
in
QueryOutput
เคล็ดลับ
คุณสามารถคัดลอกและวางรหัส M จาก ตัวอย่าง ProductSalesMultiLanguage.pbix เมื่อใดก็ตามที่คุณต้องการเพิ่มตารางการแปลปฏิทินไปยังโครงการของคุณ
ถ้าตารางภาษาประกอบด้วยสี่แถวสําหรับภาษาอังกฤษ ภาษาสเปน ภาษาฝรั่งเศส และภาษาเยอรมัน คิวรีตารางชื่อเดือนที่แปลจะสร้างตารางที่มีคอลัมน์การแปลสี่คอลัมน์ดังที่แสดงในภาพหน้าจอต่อไปนี้
ในทํานองเดียวกัน คิวรีที่ ชื่อว่า ตาราง ชื่อวันที่แปล จะสร้างตารางที่มีการแปลชื่อวันทํางาน
คิวรีสองรายการที่ชื่อว่า ตาราง ชื่อเดือนที่แปลและ ตาราง ชื่อวันที่แปลได้รับการเขียนเพื่อเป็นแบบทั่วไป โดยที่ไม่มีชื่อคอลัมน์ที่ตายตัว คิวรีเหล่านี้ไม่จําเป็นต้องมีการแก้ไขใดๆ ในอนาคตเมื่อคุณเพิ่มหรือลบภาษาออกจากโครงการ สิ่งที่คุณต้องทําคือการอัปเดตแถวข้อมูลในคิวรี
กําหนดค่าการเรียงลําดับ
เมื่อคุณเรียกใช้คิวรีสองรายการนี้เป็นครั้งแรก พวกเขาจะสร้างตารางสองตารางในแบบจําลองความหมายด้วยชื่อ ตาราง ชื่อเดือนที่แปล และ ตารางชื่อวันที่แปล มีคอลัมน์การแปลสําหรับแต่ละภาษา คุณจําเป็นต้องกําหนดค่าคอลัมน์เรียงลําดับสําหรับแต่ละคอลัมน์การแปล:
- กําหนดค่าคอลัมน์การแปลในตารางชื่อเดือนที่แปลเพื่อใช้คอลัมน์ที่เรียงลําดับ MonthNumber
- กําหนดค่าคอลัมน์คําแปลในตารางชื่อวันที่แปลเพื่อใช้คอลัมน์การเรียงลําดับ DayNumber
รวมตารางการแปล
ขั้นตอนถัดไปคือการรวมสองตารางลงในแบบจําลองข้อมูลด้วยตารางปฏิทิน ตาราง ปฏิทิน เป็นตารางที่มีการคํานวณโดยยึดตามนิพจน์ Data Analysis Expressions (DAX) ต่อไปนี้
สร้างความสัมพันธ์ระหว่างตาราง ปฏิทิน
หลังจากที่คุณสร้างความสัมพันธ์ที่จําเป็นกับตารางปฏิทินแล้ว ให้สร้างพารามิเตอร์เขตข้อมูลใหม่สําหรับแต่ละตารางการแปลปฏิทินสองตาราง การสร้างพารามิเตอร์เขตข้อมูลสําหรับตารางการแปลปฏิทินจะเหมือนกับการสร้างพารามิเตอร์เขตข้อมูลสําหรับชื่อผลิตภัณฑ์และชื่อประเภทที่แสดงไว้ก่อนหน้านี้
เพิ่มความสัมพันธ์ระหว่างตารางพารามิเตอร์เขตข้อมูลใหม่เหล่านี้และ ตารางภาษา เพื่อให้แน่ใจว่ากลยุทธ์การกรองภาษาทํางานตามที่คาดไว้
หลังจากที่คุณสร้างพารามิเตอร์เขตข้อมูลสําหรับ ชื่อ เดือนที่แปลและ ชื่อวันที่แปลแล้ว คุณสามารถเริ่มแสดงในรายงานได้โดยใช้วิชวลคาร์ทีเซียน ตาราง และเมทริกซ์
หลังจากที่คุณตั้งค่าทุกอย่างแล้ว คุณสามารถทดสอบงานของคุณโดยใช้ตัวกรองระดับรายงานบน ตาราง ภาษา เพื่อสลับไปมาระหว่างภาษาและเพื่อยืนยันการแปลสําหรับชื่อของเดือนและวันในสัปดาห์ตามที่คาดไว้