توابع متعددی در پاورکوئری بهمنظور تبدیل دادهها با فرمتهای متفاوت به رکورد یا تبدیل رکورد به دادههای با فرمت دیگر وجود دارد که در این بخش به بررسی آنها پرداختهشده است. این توابع عبارتاند از:
Record.FromList
همانطور که از اسم این تابع مشخص است، از آن برای تبدیل یک لیست به رکورد بهصورت ذیل استفاده میشود.
Record.FromList( list as list, fields as any ) as record |
این تابع دو ورودی به شرح ذیل دریافت میکند و خروجی آن همواره برابر با یک رکورد است.
- در ورودی اول این تابع مقادیر فیلدها بهصورت یک لیست وارد میشود.
- در ورودی دوم این تابع عنوان فیلدها بهصورت یک لیست ثبت میگردد.
با توجه به توضیحات فوق، حالتهای مختلف استفاده از این تابع آورده شده است.
نتیجه | فرمول |
[A=1,B=2,C=3] |
= Record.FromList({1,2,3},{“A”,”B”,”C”}) |
[A=1,B=”XWZ”,C=3] |
= Record.FromList({1,”XWZ”,3},{“A”,”B”,”C”}) |
[A=1,B=2,C=3] |
= Record.FromList({1,2,3},type [A=number,B=number,C=number]) |
Record.FromTable
با استفاده از این تابع میتوان جداول با شرایط خاص را بهصورت ذیل به رکورد تبدیل نمود.
Record.FromTable(table as table) as record |
همانطور که ملاحظه میشود این تابع یک ورودی از جنس جدول دریافت میکند و یک مقدار از جنس رکورد را در خروجی نمایش میدهد اما بهمنظور استفاده از این تابع جدول ورودی باید شامل ۲ ستون بوده و ستون اول آن شامل مقادیر متنی باشد. سپس در رکورد خروجی مقادیر ستون اول جدول مرجع بهعنوان نام فیلدها در نظر گرفته میشود و مقادیر ستون دوم بهعنوان مقادیر فیلدهای رکورد خروجی.
Record.ToList
تابع Record.ToList برای تبدیل رکورد به لیست بهصورت ذیل مورداستفاده قرار میگیرد. این تابع یک ورودی از جنس رکورد دریافت میکند و مقادیر فیلدهای آن رکورد را بهصورت یک لیست در خروجی نمایش میدهد.
Record.ToList(record as record) as list |
در جدول ذیل حالتهای مختلف از این تابع آورده شده است.
فرمول | نتیجه |
= Record.ToList([A=5,B=2,C=10]) |
{۵,۲,۱۰} |
= Record.ToList([A=5,B={1..3},C=10]) |
{۵,List,10} |
Record.ToTable
با استفاده از این تابع میتوان یک رکورد را بهصورت ذیل به جدول تبدیل نمود.
Record.ToTable(record as record) as table |
بهعبارتدیگر این تابع یک ورودی از جنس رکورد دریافت میکند و همان رکورد را به یک جدول دو ستونِ مطابق با شکل ذیل تبدیل میکند. ستون اول جدول برابر با لیست فیلدهای رکورد بوده و ستون دوم جدول برابر با مقدار فیلدها است.