Бөлісу құралы:


Терілмеген нысан деректер түрі

Жіктелмеген нысан – бұл кез келген күрделі немесе қарапайым деректер құрылымын сақтай алатын Power Fx бағдарламасындағы деректер түрі. Оны тікелей пайдалану мүмкін емес және деректер түріне нақты түрлендіруді қажет етеді. Жіктелмеген нысандағы жазбалардағы өрістерге нүкте белгісін пайдалану арқылы қол жеткізуге болады және өрістердің бар болуы тек орындау уақытында тексеріледі.

Жіктелмеген нысан – бұл арнайы жіктелмеген жеткізушілердің қайтару түрі. Қазіргі уақытта тек ParseJSON() функциясы жіктелмеген нысанды қайтарады.

Қалыпты түрлері

типсіз нысанның түріндегі айнымалының мәнін тікелей пайдалану мүмкін емес. Оны әрдайым сәйкес түрдегі құрастырғыш арқылы дұрыс теру қажет.

Төмендегі мысалдар жіктелмеген нысанныңUOValue атты айнымалы мәнін түрлендіреді.

Text(UOValue)
Value(UOValue)

Төмендегі кестеде жіктелмеген нысанды сол деректер түріне түрлендіру үшін деректер түрлері мен сәйкес функциялар тізімі берілген.

Деректер түрі Function Сипаттама
Boolean Boolean() Типтелмеген нысандылогикалық түрлендіру кезінде негізгі мән логикалық мәнді немесе автоматты түрде болуы мүмкін түрді көрсетуі керек. түрлендірілген («шын» жолы сияқты).
Түсі ColorValue() or RGBA() Түстерді каскадталған мәнерлер парағының (CSS) түс анықтамасының жазбасында жол ретінде немесе жеке RGBA құрамдастары ретінде көрсетуге болады. Жіктелмеген нысандыColorValue() функциясы арқылы тікелей каскадталған мәнерлер парағының (CSS) түс анықтамасы жолынан немесе RGBA() функциясы арқылы жеке RGBA нөмірлерінен түске түрлендіруге болады.
Валюта, сан Мән() Типтелмеген нысандысанға түрлендіру кезінде негізгі мән автоматты түрде болуы мүмкін санды немесе түрді көрсетуі керек. түрлендірілген («123.456» жолы сияқты).
Күн, күн/уақыт, уақыт DateValue(), TimeValue() немесе DateTimeValue() Күн, уақыт және күн/уақыт ISO 8601 пішімінде көрсетілгенде жіктелмеген нысаннан тиісті түріне тікелей түрлендіруге болады. Күн және уақытты түсіндіру үшін басқа пішімдерді алдымен Text() функциясын пайдаланып мәтінге түрлендіру қажет, содан кейін әдепкі бойынша ағымдағы пайдаланушы параметрлерінің тілін пайдаланатын DateValue(), TimeValue() or DateTimeValue() функциясына жіберіледі.
GUID GUID() түрленбеген нысан егер негізгі нысан GUID-ті көрсетсе немесе ол жолды көрсетсе, оны GUID-ке тікелей түрлендіруге болады.
HyperLink, кескін, мультимедиа Text() Бұл деректер түрлері мәтін деректер түрлері болып табылады және оларды мәтінге түрлендіріп және содан кейін Power Fx бағдарламасында пайдалануға болады.
Таңдау, екі нұсқа Switch() немесе If() Таңдаулар мен екі нұсқа Power Fx бағдарламасында локализацияланған жолдар ретінде көрсетіледі. Таңдаулар сан және екі параметр арқылы логикалық мәндер ретінде сақтық көшірмеленеді. Логикалық мән, сан немесе жолдан тікелей таңдауға немесе екі параметрге түрлендірілмейді, бірақ таңдау немесе екі параметр мәнін дұрыс тағайындау үшін логикалық мән, мәтін немесе сан мәнінде Switch() немесе If() функцияларын пайдалануға болады.
Жазба қолданылмайды Жіктелмеген нысаннан жазба құрылымына тікелей түрлендіру жоқ, бірақ жеке өрістерді жазбаны қалыптастыру үшін жіктелмеген нысаннан шығарып алуға болады.
Жазба сілтемесі қолданылмайды Жазба сілтемелері деректер көздеріне ғана тән және жіктелмеген нысандарда мағыналы көрсетілім жоқ.
Table Table() және ForAll() Жіктелмеген нысан кестені түрлендіруге болатын массивті көрсетеді. Бұл нысандар жазбалардың массивтері немесе тиімді бір бағанды кестелер болып табылатын мәндердің массивтері болуы мүмкін. ForAll() элементін толығымен жіктелген нысандармен кесте жасау үшін пайдалануға болады. Қосымша ақпарат алу үшін осы мақаланың төменгі жағындағы мысалдарды қарап шығыңыз.
Мәтін Text() Мәтінді тікелей түрлендіруге болады. Егер жіктелмеген нысан санды көрсететін болса, мәтінге түрлендірмес бұрын Value() элементін пайдалану арқылы алдымен жіктелмеген нысанды алдымен санға түрлендіру қажет.

Жазба түрлері

Жазбалар үшін пайдаланылатын кәдімгі нүкте белгісін пайдаланып жіктелмеген нысан жазбасын көрсететін айнымалы мәндегі өрістерге қол жеткізуге болады. Дегенмен, өрістердің бар болуы орындалу уақытына дейін тексерілмейді. Нәтижесінде, қолжетімді IntelliSense жоқ. Егер өріс болмаса немесе негізгі нөл мәнін қамтыса, оған кіру нәтижесінде Blank() мәні пайда болады.

Жазбадағы әрбір өріс сондай-ақ жіктелмеген нысан түріне жатады және оны дұрыс жіктеу қажет. Өріс қарапайым түрдегі жіктелмеген жазба болуы мүмкін. Бұл жазба болған жағдайда, нүкте белгісін тізбектей аласыз. Егер тізбекте ешқандай өріс болмаса, Blank() элементі қайтарылады.

Төмендегі мысалдар жіктелмеген нысанныңUORecord атты айнымалы мәніндегі өрістерді пайдаланады.

Text(UORecord.StringField)
Value(UORecord.Field.ChildField)

Өріс атауы жарамсыз идентификатор атауынан тұратын жағдайда, мысалы, өріс атаулары саннан басталатын немесе сызықша сияқты жарамсыз таңбаларды қамтитын болса, өріс атауларын жалғыз тырнақшаға қоюға болады:

untyped.'01'
untyped.'my-field'

Массивтер

Жіктелмеген нысан айнымалысында массив болуы мүмкін. Массив жазбалар массиві немесе қарапайым түрдегі массив болса, Table() функциясын пайдалану арқылы жіктелмеген нысан массивін кестеге түрлендіру нәтижесінде жіктелмеген нысандардың бір бағанды кестесі пайда болады. ForAll() және Index() секілді функциялар алдымен Table() функциясын жасауды қажет етпейді, сондықтан да бір бағанды Value өрісін пайдалануды қажет етпейді.

Мысалы, сан мәндерінен ([1, 2, 3]) тұратын жіктелмеген нысан массивінде екінші нөмірді алу мақсатында кестедегі екінші жолды алу үшін және бағанды санға түрлендіру үшін келесі формуланы пайдалануға болады:

Value( Index( UOArray, 2 ) )

Егер жіктелмеген нысан алдымен Table() функциясына түрлендірілсе, нәтижесіндегі бір бағанды кестедегі екінші жол – бұл жіктелмеген нысаннан тұратын Value бағаны.

Value( Index( Table( UOArray ), 2 ).Value )

Fieldдеп аталатын мәтіндік бағаны бар жазбалар массиві үшін бірдей логика қолданылады. Жіктелмеген нысанға тікелей кіруге болады немесе Table() функциясын пайдалансаңыз, нәтижесінде жіктелмеген нысанныңбір бағанды кестесі пайда болады.

Field бағанына Index() функциясы арқылы қайтарылатын жіктелмеген нысаннан тікелей кіруге болады.

Text( Index( UORecordArray, 2 ).Field )

Table() функциясын пайдалану кезінде жіктелмеген нысанды алу үшін алдымен бір бағанды Value бағанын шығарып алыңыз, содан кейін Field бағанына кіріңіз:

Text( Index( Table( UORecordArray ), 2 ).Value.Field )

Жазбалар массивін жіктелген кестеге түрлендіру үшін ForAll() функциясын пайдалануға және әрбір жеке өрісті түрлендіруге болады.

ForAll( UORecordArray, { FirstField: Value(ThisRecord.FirstField), SecondField: Text(ThisRecord.SecondField) } )

Егер жіктелмеген нысан алдымен кестеген түрлендірілсе, тағы да, нәтижесіндегі жіктелмеген нысанның бір бағанды кестесі өрістерді алу үшін Value бағанын пайдалануды қажет етеді.

ForAll( Table(UORecordArray), { FirstField: Value(ThisRecord.Value.FirstField), SecondField: Text(ThisRecord.Value.SecondField) } )