Споделяне чрез


Работа с колони с формули

Колоните с формули са колони, които показват изчислена стойност в таблица на Microsoft Dataverse. Използване на формули Power Fx, мощен, но удобен за хората език за програмиране. Изградете формула в колона с формула на Dataverse по същия начин, по който бихте изградили формула Microsoft Excel. Докато пишете, Intellisense предлага функции и синтаксис и дори ви помага да коригирате грешки.

Добавяне на колона с формули

  1. Влезте в Power Apps на адрес https://make.powerapps.com.

  2. Изберете Таблици и след това изберете таблицата, в която искате да добавите колона с формула. Ако елементът не е в страничния панел, изберете …Още и след това изберете желания елемент.

  3. Изберете зоната Колони и след това изберете Нова колона.

  4. Въведете следната информация:

    • Показвано име за колоната.
    • По желание въведете Описание на колоната.
  5. За Тип данни изберете fx Формула.

  6. Въведете формулата или използвайте предложения за формули:

    Въведете формулата Power Fx в полето Формула . Повече информация: Въведете формула


  1. Изберете допълнителни свойства:
    • Изберете Възможност за търсене, ако искате тази колона да е налична в изгледи, диаграми, табла и разширено търсене.
    • Разширени опции:
      • Ако формулата се оценява на десетична стойност, разгънете Разширени опции, за да промените броя на точките на точност между 0 и 10. Стойността по подразбиране е 2.
  2. Изберете Записване.

Въведете формула

Следващият пример създава колона с формула, наречена Обща цена. Колоната Брой единици е тип данни цяло число. Колоната Цена е десетичен тип данни.

Екранна снимка на дефиниция на колона с формула.

Колоната с формула показва резултата от Цена умножено по Брой единици.

Екранна снимка на запис с колона с формула.

Въведената формула определя типа на колоната. Не можете да промените типа на колоната, след като тя е създадена. Това означава, че можете да промените формулата, след като сте създали колоната, само ако тя не променя типа на колоната.

Например формулата цена * отстъпка създава тип колона с числа. Можете да промените цената * отстъпка на цена * (отстъпка + 10%), защото това не променя типа на колоната. Не можете обаче да промените цена * отстъпка на Текст(цена * отстъпка), защото това ще изисква промяна на типа на колоната на низ.

Получаване на предложения за формули (преглед)

[Тази тема е предварителна версия на документацията и подлежи на промяна.]

Опишете какво искате да направи формулата и получете резултати, генерирани от AI. Предложенията за формули приемат въведените от вас естествен език за интерпретиране и предлагат Power Fx формула, използваща базиран на GPT модел на изкуствен интелект.

Важно

Това е функция за преглед, достъпна само в регионите на САЩ.

Функциите за предварителен преглед не са предназначени за производствена употреба и може да са с ограничена функционалност. Тези функции са достъпни преди официалното издание, за да могат клиентите да получат ранен достъп и да дадат обратна връзка.

В момента се поддържат предложения за формули, които препращат към една таблица. Предложения за формули, които препращат към колона в свързана таблица, не се поддържат.

Предварителни изисквания

За да активирате тази функция, трябва да активирате настройката на среда на AI предложения за колони с формули. Повече информация: AI предложения за колони с формули

Пример за въвеждане на естествен език

Представете си, че има колона "Оценка на клиента", която показва оценката им по профил. Примерна колона за оценка на клиента

В полето Получаване на предложения за формули въведете формулата на естествен език, като например Ако оценката в колоната за оценка е равна или по-голяма от 5, тогава посочете като Добра, а ако по-малко от 5 – като Средна и ако стойността е празна или нула, тогава се покаже като Лоша, след което изберете бутона със стрелка (enter).

След това копирайте предложената формула. Предложена формула

И го поставете в полето Въведете формула . Изберете Записване. Поставете формула в полето Въведете формула.

Ето как изглежда формулата при поставяне.

Switch(
    ThisRecord.'Customer Rating',
    Blank(), "Bad",
    0, "Bad",
    1, "Average",
    2, "Average",
    3, "Average",
    4, "Average",
    5, "Good",
    6, "Good",
    7, "Good",
    8, "Good",
    9, "Good",
    10, "Good"
)

Проверете изчислената колона с формула за описание на оценката, която се показва така.

Проверете резултатите за колоната с формули

Отговорен AI

За информация относно отговорния ИИ посетете тези ресурси:

Оператори

Можете да използвате следните оператори в колона с формула:
+, -, *, /, %, in, exactin, &

За повече информация отидете на Оператори в Power Apps.

Типове данни

Можете да показвате следните типове данни в колона с формула:

Понастоящем не се поддържат типовете данни за валута и избор (по-рано набори от опции).

Видове функции

Можете да използвате следните типове функции в колона с формула:

  • Десетично число
  • String
  • Boolean
  • Набор от опции
  • Дата и час (TZI)
  • DateTime (локално за потребителя) (ограничено до сравнения с други потребителски локални стойности на функциите DateAdd и DateDiff)
  • DateTime (само дата) (ограничено до сравнения с други стойности само за дата, функции DateAdd и DateDiff)
  • Валута
  • Цяло число, повишено до десетично

Функции

За скаларните функции, които можете да използвате в колона с формули, отидете на Препратка към формула - Dataverse колони с формула.

* Функциите Текст и Стойност работят само с цели числа, където не е включен десетичен разделител. Десетичният разделител варира в различните локали. Тъй като колоните с формули се оценяват без познаване на локала, няма начин правилно да се интерпретира или генерира десетичният разделител.

* Аргументът StartOfWeek не се поддържа за функциите WeekNum и Weekday в колони с формули.

Пример за функция

Описание Пример
Извличане на стойност на дата. DateAdd(UTCNow(),-1,TimeUnit.Years)

Създаване на десетична колона с формули

Създайте колона с формула, която връща десетично число.

  1. Когато създавате колона, въведете следната информация:
    • Показвано име за колоната.
    • По желание въведете Описание на колоната.
  2. За Тип данни изберете fx Формула.
  3. Въведете формула, която връща числова стойност в лентата с формули . Този пример създава колона с формула, наречена Обща сума. Колоната "единична цена " е от десетичен тип данни. Екранна снимка на екран за създаване на нова колона за формули за използване с десетично число.
  4. Разгънете Разширени опции, изберете Десетична запетая като тип данни Формула и след това задайте необходимия брой цифри след десетичната запетая. Екранна снимка на дефиниция на десетична формула.
  5. Изберете Записване.

Създаване на колона с формула за цяло число

Създайте колона с формула, която връща цяло число.

  1. Когато създавате колона, въведете следната информация:
    • Показвано име за колоната.
    • По желание въведете Описание на колоната.
  2. За Тип данни изберете fx Формула.
  3. Въведете формула, която връща числова стойност в лентата с формули . Този пример създава колона с формула, наречена Брой единици. Колоните "Обща цена " и "Цена на единична цена " са от десетичен тип данни. Екранна снимка на екран за създаване на нова колона за формула за използване с цяло число.
  4. Разгънете Разширени опции и изберете Цяло число като тип данни Формула и задайте необходимия формат за колона с цяло число. Екранна снимка на дефиниция на колона с формула за цяло число.
  5. Изберете Записване.

Насоки и ограничения

Този раздел описва указанията и известните ограничения с колоните с формули Dataverse.

Валидиране на използването на валутни полета

  • Колоните с формули не поддържат използването на свързана графична колона за валута на таблицата във формулата, като например в този пример. Колона "Формула" с неподдържана формула "Сметка.Годишни приходи"
  • Прякото използване на графите за валута и валутния курс във формулата понастоящем не се поддържа. Използването на колони за валута и валутен курс се постига чрез Decimal функцията, като например Decimal(currency column) или Decimal(exchange rate). Функцията Decimal гарантира, че изходът е в рамките на приетия диапазон. Ако стойността на колоната за валута или валутен курс надвишава приетия диапазон, тогава формулата връща null.
  • Графите за основна валута не се поддържат в изразите на колоните с формули, тъй като са системни графи, използвани за целите на отчитането. Ако искате подобен резултат, можете да използвате тип колона за валута заедно с комбинация от графи за валутен курс като CurrencyField_Base = (CurrencyField / ExchangeRate).

Проверка на използването на колоните за дата и час

  • Поведението на колоните с формули за дата и час може да се актуализира само когато не се използва в друга колона с формула.
  • За колони с формули за дата и час, докато използвате DateDiff функцията, се уверете, че:
    • Колоната за локално поведение на потребителя не може да се сравнява или използва с колона DateTime(TZI)/DateOnly за поведение.
    • Колоните за локално поведение на потребителя могат да се сравняват или използват само с друга колона за локално поведение на потребителя.
    • DateTime(TZI) Колоните за поведение могат да се сравняват или използват във DateDiff функции с друга DateTime(TZI)/DateOnly колона за поведение.
    • DateOnly колоните за поведение могат да се сравняват или използват във функцията DateDiff с друга DateTime(TZI)/DateOnly колона за поведение. Неподдържана конфигурация на дата и час с колона с формула
  • Колоните за дата и час и датата не UTCNow() Now() могат да бъдат предадени като параметър на низови функции. Колона с формула с неподдържан параметър за дата и час, подаден във формула

Използване на колона с формули в сборни полета

  • Проста колона с формула е мястото, където формулата използва колони от един и същ запис или използва твърдо кодирани стойности. За сборни колони колоните с формули трябва да са прости колони с формули, като например тази примерна сборна колона. Примерна проста колона с формула за сборна колона Примерна конфигурация на сборна колона
  • Колона с формула, която зависи от функциите UTCNow() , обвързани с времето, и UTCToday() не може да се използва в сборно поле.

Power Fx Препоръки за текстова функция

  • Колоните с формули не поддържат Text() функции с един аргумент от тип Number. Числото може да бъде цяло, десетично или валутно. Колона с формула с неподдържана текстова функция с числов аргумент

  • Колоните с формули не поддържат използването на числа в следните конфигурации:

    • В низови функции. Това са низови функции, поставени навсякъде, където се очаква текстов аргумент: Горна, Долна, Лява, Дясна, Конкатенация, Средна, Лен, StartsWith, EndsWith, TrimEnds, Изрязване, Замена и Заместване.
    • В имплицитните формули, като 12 & "foo" или, 12 & 34 или "foo" & 12.
    • Вътрешна принуда от номер към текст не се поддържа. Препоръчваме ви да използвате Text(Number, Format) за преобразуване на число в текст. В случай, че String аргументът е подаден във функция Text , тогава аргументът Format не се поддържа.
    • Ето пример за използване на Text функцията за преобразуване на число в текст и добавяне на низ към него:
    Concatenate(Text(123,"#"),"ab")
    Text(123,"#") & "foo"
    
  • Специфични за езиковата променлива маркери за форматиране, като например "." и "," не се поддържат в колоните с формули. Неподдържан маркер за форматиране, специфичен за езиковата променлива, предаден като параметър на функцията Text във формула

Валидиране на диапазони в колони с формули

  • Не можете да зададете свойствата Минимална стойност или Максимална стойност на колона с формула.
  • Всички вътрешни изчисления трябва да са в диапазона Dataverse за колони с формули от десетичен тип (-100000000000 до 100000000000).
  • Твърдо кодирана литерална стойност, въведена в лентата с формули, трябва да се намира в диапазона Dataverse .
  • Ако има числова колона, която е нула, тогава тя се счита за 0 в междинната операция. Например, a+b+c and If a = null, b=2, c=3 тогава колоната с формула дава 0 + 2 + 3 = 5.
    • Това поведение е различно от изчисляемите колони в този случай, тъй като изчисляемите колони дават null + 2 + 3 = null.

Общи проверки на колони с формули

  • Колоните с формули могат да препращат към други колони с формули, но колоната с формула не може да препраща към себе си.
  • Колоните с формули не поддържат циклични вериги, като например F1 = F2 + 10, F2 = F1 * 2.
  • Максималната дължина на израза на формула в колоните с формули е 1,000 знака.
  • Максималната дълбочина, разрешена в колоните с формули, е 10. Дълбочината се определя като верига от колони с формули, препращащи към други колони за формули или сборни колони.
    • Например, table E1, F1 = 1*2, table E2, F2 - E1*2. В този пример дълбочината на F2 е 1.
  • В приложенията, управлявани от модел, сортирането е забранено на:
    • Колона с формула, която съдържа колона от свързана таблица.
    • Колона с формула, която съдържа логическа колона (например колона с адрес).
    • Колона с формула, която съдържа друга изчисляема колона или колона с формула.
    • Колона с формула, която използва функция, обвързана UTCNow() с времето.
  • Колони от тип "Цяло число" с формат "Език", "Продължителност", "Часова зона" не се поддържат в колоните с формули.
  • Колони от тип Низ с формат Имейл, Текстова област, Символ на тикер, URL адрес не се поддържат в колони с формули.
  • Колоните с формули не показват стойности, когато приложението е в мобилен офлайн режим.
  • Не можете да задействате работни потоци или добавки за колони с формули.
  • Не препоръчваме да използвате изчисляеми колони в колони с формули и обратно.
  • Откриване на дублиращ се запис не се задейства в графите с формули.
  • Функцията Now може да се използва с колони с формули. Now() има локално поведение на потребителя и UTCNow() има поведение, независимо от часовата зона.
  • Можете да зададете свойството за точност за десетични колони.
  • Стойността на типа данни по формула по подразбиране е зададена на Десетична за числова стойност, връщаща формули.
  • Актуализирането на формата на колоната с формула за цяло число не се поддържа.

Power Fx функции, които не се поддържат в момента

  • Степенуване
  • Sqrt
  • Exp
  • Ln
  • ^ (оператор)

Колони с формули с типове данни, които не могат да бъдат създадени

  • Възможности за избор (с изключение на избор "Да/Не")
  • Валута

Вижте също

Типове колони

Общ преглед на Microsoft Power Fx

Формули, изчислени и сборни колони с помощта на код