หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
กลไกจัดการ M ระบุแหล่งข้อมูลโดยใช้การรวมกันของ ชนิด และ เส้นทาง เมื่อพบแหล่งข้อมูลในระหว่างการประเมินคิวรี กลไกจัดการ M จะพยายามค้นหาข้อมูลประจําตัวที่ตรงกัน ถ้าไม่พบข้อมูลประจําตัว กลไกจัดการจะส่งกลับข้อผิดพลาดพิเศษที่ส่งผลให้เกิดพร้อมท์ข้อมูลประจําตัวใน Power Query
ค่า ชนิด มาจากข้อกําหนด ชนิดแหล่งข้อมูล
ค่า เส้นทาง ได้มาจาก พารามิเตอร์ที่จําเป็น ของ ฟังก์ชันแหล่งข้อมูลของคุณ พารามิเตอร์ที่เลือกได้จะไม่ถูกนํามาพิจารณาในตัวระบุเส้นทางแหล่งข้อมูล ด้วยเหตุนี้ ฟังก์ชันแหล่งข้อมูลทั้งหมดที่เกี่ยวข้องกับชนิดแหล่งข้อมูลต้องมีพารามิเตอร์เดียวกัน มีการจัดการพิเศษสําหรับฟังก์ชันที่มีพารามิเตอร์เดียวของประเภทUri.Type ไปที่ ฟังก์ชันที่มีพารามิเตอร์ Uri เพื่อดูรายละเอียด
คุณสามารถดูตัวอย่างของวิธีการจัดเก็บข้อมูลประจําตัวในกล่องโต้ตอบ การตั้งค่าแหล่งข้อมูล ใน Power BI Desktop ในกล่องโต้ตอบนี้ ชนิด จะแสดงด้วยไอคอน และค่า เส้นทาง จะแสดงเป็นข้อความ
Note
หากคุณเปลี่ยนพารามิเตอร์ที่จําเป็นของฟังก์ชันแหล่งข้อมูลในระหว่างการพัฒนา ข้อมูลประจําตัวที่เก็บไว้ก่อนหน้านี้จะไม่ทํางานอีกต่อไป (เนื่องจากค่าเส้นทางไม่ตรงกันอีกต่อไป) คุณควรลบข้อมูลประจําตัวที่เก็บไว้ทุกครั้งที่คุณเปลี่ยนพารามิเตอร์ฟังก์ชันแหล่งข้อมูลของคุณ หากพบข้อมูลประจําตัวที่เข้ากันไม่ได้ คุณอาจได้รับข้อผิดพลาดขณะรันไทม์
รูปแบบเส้นทางแหล่งข้อมูล
ค่า เส้นทาง สําหรับแหล่งข้อมูลได้มาจากพารามิเตอร์ที่จําเป็นของฟังก์ชันแหล่งข้อมูล พารามิเตอร์ที่จําเป็นสามารถแยกออกจากเส้นทางได้โดยการเพิ่ม DataSource.Path = false ข้อมูลเมตาของฟังก์ชัน สําหรับข้อมูลเพิ่มเติม ไปที่ การยกเว้นพารามิเตอร์ที่จําเป็นจากเส้นทางแหล่งข้อมูลของคุณ
ตามค่าเริ่มต้น คุณสามารถดูค่าสตริงจริงในกล่องโต้ตอบ การตั้งค่าแหล่งข้อมูล ใน Power BI Desktop และในพร้อมท์ข้อมูลประจําตัว ถ้าข้อกําหนดชนิดแหล่งข้อมูลมีค่า Label คุณจะเห็นค่าป้ายชื่อแทน
ตัวอย่างเช่น ฟังก์ชันแหล่งข้อมูลใน ตัวอย่าง HelloWorldWithDocs มีลายเซ็นต่อไปนี้:
HelloWorldWithDocs.Contents = (message as text, optional count as number) as table => ...
ฟังก์ชันนี้มีพารามิเตอร์ที่จําเป็น (message) เดียวของชนิด textและใช้ในการคํานวณเส้นทางแหล่งข้อมูล พารามิเตอร์ที่ไม่บังคับ (count) จะถูกละเว้น เส้นทางจะแสดงดังนี้:
พร้อมท์ข้อมูลประจําตัว
UI การตั้งค่าแหล่งข้อมูล
เมื่อกําหนดค่า ป้ายชื่อ ค่าเส้นทางแหล่งข้อมูลจะไม่แสดง:
Note
ขณะนี้เราขอแนะนําให้คุณ ไม่รวม ป้ายกํากับสําหรับแหล่งข้อมูลของคุณหากฟังก์ชันของคุณมีพารามิเตอร์ที่จําเป็น เนื่องจากผู้ใช้จะไม่สามารถแยกความแตกต่างระหว่างข้อมูลประจําตัวต่างๆ ที่พวกเขาป้อนได้ เราหวังว่าจะปรับปรุงสิ่งนี้ในอนาคต (นั่นคือ อนุญาตให้ตัวเชื่อมต่อข้อมูลแสดงเส้นทางแหล่งข้อมูลแบบกําหนดเองของตนเอง)
การยกเว้นพารามิเตอร์ที่จําเป็นจากเส้นทางแหล่งข้อมูลของคุณ
ถ้าคุณต้องการให้ต้องมีพารามิเตอร์ฟังก์ชัน แต่ไม่รวมเป็นส่วนหนึ่งของเส้นทางแหล่งข้อมูลของคุณ คุณสามารถเพิ่ม DataSource.Path = false เมตาดาต้าของเอกสารประกอบฟังก์ชันได้ คุณสมบัตินี้สามารถเพิ่มลงในพารามิเตอร์อย่างน้อยหนึ่งพารามิเตอร์สําหรับฟังก์ชันของคุณ ฟิลด์นี้จะลบค่าออกจากเส้นทางแหล่งข้อมูลของคุณ (หมายความว่าจะไม่ส่งผ่านไปยังฟังก์ชันของคุณ TestConnection อีกต่อไป) ดังนั้นจึงควรใช้สําหรับพารามิเตอร์ที่ไม่จําเป็นในการระบุแหล่งข้อมูลของคุณ หรือแยกความแตกต่างระหว่างข้อมูลประจําตัวของผู้ใช้เท่านั้น
ตัวอย่างเช่น ตัวเชื่อมต่อในตัวอย่าง HelloWorldWithDocs จะต้องใช้ข้อมูลประจําตัวที่แตกต่างกันสําหรับค่าที่แตกต่างกันmessage
การเพิ่มDataSource.Path = falsemessageพารามิเตอร์จะลบออกจากการคํานวณเส้นทางแหล่งข้อมูล ซึ่งทําให้ตัวเชื่อมต่อเป็น "ซิงเกิลตัน" ได้อย่างมีประสิทธิภาพ การเรียกทั้งหมดจะ HelloWorldWithDocs.Contents ถือว่าเป็นแหล่งข้อมูลเดียวกัน และผู้ใช้จะให้ข้อมูลประจําตัวเพียงครั้งเดียว
HelloWorldType = type function (
message as (type text meta [
DataSource.Path = false,
Documentation.FieldCaption = "Message",
Documentation.FieldDescription = "Text to display",
Documentation.SampleValues = {"Hello world", "Hola mundo"}
]),
optional count as (type number meta [
Documentation.FieldCaption = "Count",
Documentation.FieldDescription = "Number of times to repeat the message",
Documentation.AllowedValues = { 1, 2, 3 }
]))
as table meta [
Documentation.Name = "Hello - Name",
Documentation.LongDescription = "Hello - Long Description",
Documentation.Examples = {[
Description = "Returns a table with 'Hello world' repeated 2 times",
Code = "HelloWorldWithDocs.Contents(""Hello world"", 2)",
Result = "#table({""Column1""}, {{""Hello world""}, {""Hello world""}})"
],[
Description = "Another example, new message, new count!",
Code = "HelloWorldWithDocs.Contents(""Goodbye"", 1)",
Result = "#table({""Column1""}, {{""Goodbye""}})"
]}
];
ฟังก์ชันที่มีพารามิเตอร์ Uri
เนื่องจากแหล่งข้อมูลที่มีตัวระบุตาม Uri เป็นเรื่องธรรมดา จึงมีการจัดการพิเศษใน Power Query UI เมื่อจัดการกับเส้นทางแหล่งข้อมูลที่ใช้ Uri เมื่อพบแหล่งข้อมูลที่ใช้ URI กล่องโต้ตอบข้อมูลประจําตัวจะให้ดรอปดาวน์ ซึ่งช่วยให้ผู้ใช้สามารถเลือกเส้นทางพื้นฐานแทนที่จะเป็นเส้นทางแบบเต็ม (และเส้นทางทั้งหมดที่อยู่ระหว่างนั้น)
เนื่องจาก Uri.Type เป็น ชนิดที่ระบุไว้ แทนที่จะเป็น ชนิดดั้งเดิม ในภาษา M คุณจะต้องใช้ฟังก์ชัน Value.ReplaceType เพื่อระบุว่าพารามิเตอร์ข้อความของคุณควรได้รับการปฏิบัติเป็น Uri
shared GithubSample.Contents = Value.ReplaceType(Github.Contents, type function (url as Uri.type) as any);