แชร์ผ่าน


รองรับชุดอักขระรหัสภาษาจีน (GB18030-2022)

มาตรฐาน GB18030-2022 ของจีนเป็นการปรับปรุงล่าสุดของข้อกําหนดชุดอักขระประจําชาติ ช่วยให้มั่นใจได้ถึงความเข้ากันได้กับ Unicode 11.0 และกําหนดให้รองรับอักขระเพิ่มเติม รวมถึงสคริปต์ชนกลุ่มน้อยและอีโมจิ สําหรับองค์กรที่ดําเนินงานในหรือกับประเทศจีน มันเป็นข้อกําหนดด้านกฎระเบียบ

Power BI สามารถกําหนดค่าให้เคารพการเข้ารหัส GB18030-2022 โดยใช้ UnicodeCharacterBehavior การตั้งค่า การตั้งค่านี้ถูกตั้งค่าเป็น CodeUnits ค่าเริ่มต้น เพื่อให้แน่ใจว่าโมเดลของคุณเข้ากันได้กับ GB18030-2022 คุณจะต้องดําเนินการคําสั่ง XMLA เฉพาะเพื่อตั้งค่า UnicodeCharacterBehavior เป็น CodePointsตามด้วยการรีเฟรชโมเดล

คําสั่ง XMLA

<Alter AllowCreate="true" ObjectExpansion="ObjectProperties" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
	<Object>
		<DatabaseID>[your database id]</DatabaseID>
	</Object>
	<ObjectDefinition>
		<Database xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2"
		xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2"
		xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100"
		xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200"
		xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200"
		xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300"
		xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300"
		xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400"
		xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400"
		xmlns:ddl500="http://schemas.microsoft.com/analysisservices/2013/engine/500"
		xmlns:ddl500_500="http://schemas.microsoft.com/analysisservices/2013/engine/500/500">
			<ID>[your model id]</ID>
			<Name>[your model name]</Name>
			<ddl200:CompatibilityLevel>[your model compatibility level]</ddl200:CompatibilityLevel>
			<ddl200_200:StorageEngineUsed>TabularMetadata</ddl200_200:StorageEngineUsed>
			<Language>1033</Language>
			<UnicodeCharacterBehavior xmlns="http://schemas.microsoft.com/analysisservices/2025/engine/924/924">CodePoints</UnicodeCharacterBehavior>
		</Database>
	</ObjectDefinition>
</Alter>

หลังจากดําเนินการคําสั่ง XMLA นี้แล้ว ให้ทําการรีเฟรชโมเดลของคุณอย่างเต็มรูปแบบ

ตัวอย่าง

UnicodeCharacterBehavior มีผลต่อฟังก์ชันใดๆ DAX ที่กําหนดความยาวของสตริงข้อความ ซึ่งรวมถึง FIND, LEFT, LEN, MID, REPLACE, RIGHT ฟังก์ชันเหล่านี้จะแสดงลักษณะการทํางานที่แตกต่างกันเมื่อทํางานกับสตริงข้อความที่มีอักขระ Unicode มาดูความแตกต่างในการดําเนินการกัน นี่คือหน่วยวัดที่ใช้ LEN ในการคํานวณความยาวของสตริงข้อความ:

StringLength = LEN ( SELECTEDVALUE ( 'Table'[Column1] ) )

ในตัวอย่าง Column1 นี้มีค่าสามค่า:

  • A
  • ข🍕
  • 🍟🍔

ต่อไปนี้เป็นการเปรียบเทียบก่อนและหลังผลลัพธ์ของ StringLength ในคอลัมน์ที่มีอักขระ Unicode:

UnicodeCharacterBehavior = CodeUnits (ค่าเริ่มต้น) UnicodeCharacterBehavior = CodePoints
สกรีนช็อตของตารางที่แสดงคอลัมน์ 1 และ StringLength ค่า StringLength คือ 1, 3 และ 4 สกรีนช็อตของตารางที่แสดงคอลัมน์ 1 และ StringLength ค่า StringLength คือ 1, 2 และ 2

สังเกตว่าทางด้านซ้ายอักขระ Unicode แต่ละตัวมีความยาว 2 โดยที่ทางด้านขวาอักขระ Unicode แต่ละตัวมีความยาว 1

Note

การเปลี่ยนแปลงจะ UnicodeCharacterBehavior คงไว้หลังจากการรีเฟรชแบบจําลองเท่านั้น