Frågefält, operatorer och makron

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Tips

Första gången du frågar? Börja med Definiera en fråga för procedursteg eller Fråga snabbreferens för exempel.

Använd den här referensguiden för att söka efter fältdatatyper, frågeoperatorer, makron och variabler när du skapar frågor i Editor Power Query. Alla operatorer och makron stöds i Azure-tavlor. Vissa gäller endast för specifika Azure DevOps Server versioner.

Snabbexempel och redigeringsuppgifter finns i Fråga snabbreferens och Hantera och organisera frågor.

Förutsättningar

Kategori Krav
Projektmedlemskap Du måste läggas till som medlem i projektet.
Åtkomstnivåer – Om du vill visa och köra delade frågor: Du måste vara en Project medlem.
– Om du vill lägga till och spara en delad fråga: Du måste ha minst grundläggande åtkomst.
behörigheter Se till att Behörigheten Bidra är inställd på Tillåt för mappen där du vill lägga till en fråga. Din organisation kan behöva konfigurera gruppen Deltagare manuellt för att bevilja den här behörigheten.

Anteckning

Du behöver både en tillräcklig åtkomstnivå och Behörighet att bidra för att spara delade frågor. Grundläggande åtkomst räcker inte.

Kategori Krav
Projektmedlemskap Du måste läggas till som medlem i projektet.
Åtkomstnivåer – Om du vill visa och köra delade frågor: Du måste vara en Project medlem.
– Om du vill lägga till och spara en delad fråga: Du måste ha minst grundläggande åtkomst.
behörigheter Se till att Behörigheten Bidra är inställd på Tillåt för mappen där du vill lägga till en fråga. Din organisation kan behöva konfigurera gruppen Deltagare manuellt för att bevilja den här behörigheten.

Anteckning

Du behöver både en tillräcklig åtkomstnivå och Behörighet att bidra för att spara delade frågor. Grundläggande åtkomst räcker inte.

Datatyper och värden för frågefält

Ange ett värde som matchar datatypen för ett fält. I följande tabell visas datatyper som stöds:

Anteckning

För Azure-tavlor (moln) matchar datatypen fältet som visas på sidan Process > Fields. För lokala distributioner motsvarar datatypen attributet för type en FIELD definition. Mer information finns i Fält för arbetsobjekt och fältattribut .

Datatyp Description
Boolesk Lagrar värdet True/False.
DateTime eller datum/tid Använd en datumvariabel (t.ex. @Today eller @Today-1) eller ett explicit datum som 01/01/2025. Ange datum i det format som är inställt i din profil. Exempel på frågor finns i Query by date or @CurrentIteration. För WIQL-frågor kan du också ange datum i UTC. Se Syntax för WIQL (Work Item Query Language).
Double eller Decimal Lagrar ett verkligt tal, till exempel 0,2 eller 3,5. Exempel finns i Fråga efter numeriska fält .
GUID Lagrar en unik identifierarsträng.
History Anpassat formaterat fält som används för historisk information (fältet Historik ). När fulltextsökning är tillgänglig indexeras det här fältet för fulltextfrågor. Se Historik och granskning.
HTML Lagrar formaterad text, till exempel Beskrivning eller Återskapa steg. När fulltextsökning är tillgänglig indexeras dessa fält. Information om att göra frågor mot riktextfält finns under Fråga efter rubriker, ID:n och riktextfält.
Identitet Lagrar en kort textsträng som identifierar en användaridentitet.
Heltal Lagrar ett signerat 32-bitars heltal, till exempel 0, 1, 2 eller 34.
Oformaterad text eller textfält (flera rader) Lagrar långa textvärden, till exempel programstartinformation. De här fälten indexeras för fulltextsökning när det stöds. Se Fråga efter rubriker, ID:n och rich-textfält.
picklistDouble Anpassat fält som innehåller en plocklista med decimalvärden.
picklistInteger Anpassat fält som innehåller en urvalslista med heltal.
picklistString Anpassat fält som innehåller en listruta med korta textvärden (255 tecken eller mindre).
Sträng - eller textfält (enskild rad) Lagrar kort text upp till 255 Unicode-tecken. Teams använder ofta dessa fält för listrutor eller nedrullningsbara menyer.
TreePath Representerar ett förgreningsträd, till exempel områdessökväg eller iterationssökväg. Välj ett giltigt nodvärde. Du kan filtrera efter likhet, ojämlikhet, "Under" eller "Inte under". Använd operatorerna In och Not In för att ange flera värden. Definiera trädstrukturer för ett projekt – områdessökvägar och iterationssökvägar – och välj de noder som ska associeras med team. Frågeexempel finns i Fråga efter område eller iterationssökväg och Fråga efter datum eller aktuell iteration.

Anteckning

Typerna picklist... gäller endast för anpassade fält som definierats för en ärvd process.

Datum- och tidsmönster

Datum- och tidsmönstret som du anger för DateTime-fälten ska matcha det som du väljer via din profil. Information om hur du visar eller ändrar ditt val finns i Ange användarinställningar.

Skärmbild som visar listrutan Datummönster i fönstret Tid och nationella inställningar. Skärmbild som visar listrutan Tidsmönster i fönstret Tid och Nationella inställningar.

Skärmbild som visar fönstret Tid och nationella inställningar med fälten Datummönster och Tidsmönster.

Frågeoperatorer

Använd operatorer för att definiera hur ett satsvärde måste relateras till ett arbetsobjekts fältvärde. Fältdatatyper finns i Fältreferens för arbetsobjekt. Hjälp med att skapa frågor finns i Definiera en fråga.

Frågeoperator När operatorn returnerar matchande arbetsobjekt Tillämpliga datatyper
= Matchar villkorsvärdet. Tal (Double/Decimal/GUID/Integer), Sträng, DatumTid, TrädSökväg
<> Stämmer inte överens med satsvärdet. Tal, Sträng, DatumTid, TreePath
> Är större än villkorsvärdet. Tal, Sträng, DatumTid
< Är mindre än villkorsvärdet. Tal, Sträng, DatumTid
>= Är större än eller lika med vilkorsvärdet. Tal, Sträng, DatumTid
<= Är mindre än eller lika med villkorsvärdet. Tal, Sträng, DatumTid
=[Fält] Matchar värdet i ett annat angivet fält (måste vara samma datatyp). Namnet på ett fält med samma datatyp (booleska fält jämför likhet med andra fält).
<>[Fält] Matchar inte värdet i ett annat angivet fält. Namn på ett fält med samma datatyp.
>[Fält] Är större än värdet i ett annat angivet fält. Namn på ett fält med samma datatyp.
<[Fält] Är mindre än värdet i ett annat angivet fält. Namn på ett fält med samma datatyp.
>=[Fält] Är större än eller lika med värdet i ett annat angivet fält. Namn på ett fält med samma datatyp.
<=[Fält] Är mindre än eller lika med värdet i ett annat angivet fält. Namn på ett fält med samma datatyp.
Innehåller Innehåller en exakt eller partiell textmatchning. String
Innehåller inte Innehåller ingen exakt eller partiell textmatchning. String
Innehåller ord Matchar en exakt fras eller ord (stöder avslutande jokertecken *). Gräns: 100 tecken. Den här operatorn använder fulltextindexering. Se avsnittet Fulltext i den här artikeln för server- och sorteringskrav. Långtextfält indexerade för fulltextsökning (oformaterad text, HTML, historik och rubrik).
innehåller inte ord Exkluderar objekt som innehåller den angivna frasen eller orden. Gräns: 100 tecken. Använd med Contains Words i kompletterande satser för att inkludera eller exkludera nyckelord. Textfält indexerade för fulltextsökning.
I Matchar valfritt värde i en avgränsad uppsättning (använd operativsystemets regionala listavgränsare, vanligtvis ett kommatecken). Tal, Sträng, DatumTid, TreePath
Är tom Matchar objekt där ett HTML-fält inte innehåller något innehåll (inget värde har angetts). Stöds för Azure-tavlor och Azure DevOps Server. HTML
Är inte tom Matchar objekt där ett HTML-fält innehåller innehåll. Stöds för Azure-tavlor och Azure DevOps Server. HTML
Inte i Exkluderar värden i en avgränsad uppsättning (använd den regionala listavgränsaren). Stöds för Azure-tavlor och Azure DevOps Server. Tal, Sträng, DatumTid, TreePath
I grupp Matchar värden som är medlemmar i en namngiven grupp (team, säkerhetsgrupp eller kategori). Använd till exempel gruppen Deltagare eller en gruppgrupp med namnet i mönstret [Project Name]\Team Name. Exempel finns i Fråga efter tilldelning eller arbetsflödesändringar . Använd endast i grupp med fält av strängtyp eller Typ av arbetsobjekt. Du kan använda Microsoft Entra ID grupper när ditt konto använder Microsoft Entra ID eller služba Active Directory grupper lokalt. Textsträng (matchar grupp- eller lagnamn) eller arbetsobjekttyp
Inte i grupp Exkluderar medlemmar i en namngiven grupp. Sträng som matchar en användargrupp eller projektkategori.
Inte under Exkluderar objekt som är lika med eller som finns under den angivna trädnoden. TreePath
Under Matchar objekt som är lika med eller som finns under den angivna trädnoden. TreePath
Var någonsin Matchar ett värde som ett fält hade vid en tidigare tidpunkt. (Editor Power Query: Endast strängfält. DateTime-stöd kräver direkta WIQL-frågor.) Sträng, DatumTid

Tips

Du kan skapa WIQL-frågor som använder operatorer (till exempel Was Ever) mot andra datatyper, till exempel Iterationssökväg. Ett exempel finns i Lista arbetsobjekt som flyttats från en sprint .

Vanliga operatorexempel

Här är representativa frågeexempel som använder olika operatorer:

Query Returns
State = Active Arbetsobjekt med tillståndet "Aktiv"
Priority <> Low Alla objekt utom de med låg prioritet
Created Date >= @Today-7 Arbetsobjekt som skapats under de senaste 7 dagarna
Assigned To = @Me Objekt som tilldelats den aktuella användaren
Tags Contains "frontend" Objekt med en tagg som innehåller "frontend"
State In (Active, In Progress) Objekt i båda tillstånden
Area Path Under "Project\Web" Alla objekt under webbområdet, inklusive underområden
Assigned To In Group "[Project]\Developers" Objekt som tilldelats någon i gruppen Utvecklare
Description Contains Words "urgent" Objekt där beskrivningen innehåller ordet "brådskande"

Fulltext- och partiella ordsökningar

Använd Innehåller eller Innehåller inte för att söka efter exakta eller partiella matchningar mot långtextfält. Dessa operatorer använder frågeindexet. Använd Innehåller ord eller Innehåller inte ord för att söka efter exakta fraser eller använda ett avslutande jokertecken (*). Dessa operatorer kräver fulltextindexet.

Du kan bara använda jokertecknet i slutet av ett partiellt ord eller en fras. Exempel finns i Exempel på frågor om arbetsobjekt och Fråga efter arbetsobjekt med hjälp av fältet Historik.

Anteckning

Alla distributioner stöder inte fulltextsökning. Sql Express och vissa SQL-molnkonfigurationer stöder till exempel inte fulltextsökning. I dessa distributioner är endast operatorerna Contains och Does Not Contain synliga.

Azure DevOps Server indexerar långtextfält (PlainText och HTML) och fältet Rubrik för fulltextsökning när den underliggande SQL Server stöder fulltextindexering.

Fulltextsökning kräver också en SQL-sortering med en registrerad ordbrytare för det språk du använder. Om insamlingsdatabassorteringen inte matchar ett språk som stöds kanske resultatet inte matchar förväntningarna. I dessa fall använder du Contains eller Does Not Contain i stället.

Mer information finns i Sökfrågor och sorteringsinställningar för fulltext.

Kombinera operatorer

Frågor använder AND-logik för att kombinera flera satser. Varje ytterligare sats filtrerar resultatet ytterligare. Ett exempel:

  • State = Active AND Priority = High returnerar arbetsobjekt som både är aktiva OCH har hög prioritet.
  • State = Active AND State <> Closed returnerar aktiva objekt exklusive de som markerats som stängda.
  • Assigned To = @Me AND State <> Done returnerar objekt som har tilldelats dig som inte är slutförda.

Du kan använda parenteser för att gruppera villkor för komplexa frågor i direkt WIQL-syntax:

  • (State = Active OR State = In Progress) AND Priority = High returnerar objekt med hög prioritet i aktiva eller pågående tillstånd.

Fler exempel och WIQL-syntaxinformation finns i Syntax för WIQL (Work Item Query Language).

Felsökning och vanliga misstag

Problem Sannolik orsak Lösning
Makrot returnerar inga resultat @CurrentIteration fungerar endast i webbportalen. REST-API:er och CLI kan returnera tomma resultat Använd direktdatum i stället i skript eller API:er. Alternativ finns i Fråga efter datum eller aktuell iteration.
Frågan @TeamAreas returnerar oväntade resultat Makrot fungerar bara med fältet Områdessökväg . användning av den med andra fält har ingen effekt Kontrollera att du filtrerar på områdessökväg. Använd andra trädsökvägsfält (Iterationssökväg) med operatorn Under i stället.
Operatorfel för contains words Sökfrågan överskrider gränsen på 100 tecken eller använder ogiltig placering av jokertecken Minska frågetexten till under 100 tecken. Använd jokertecken bara i slutet av en term (till exempel feature*), inte i början.
Frågan ”In Group” misslyckas Gruppnamnformatet är felaktigt eller så finns det ingen grupp Använd exakt format: Assigned To In Group "[Project]\\Team Name" för team. Kontrollera gruppnamnet i projektinställningarna.
Fungerade operatorn "Ever" inte med datum Editor Power Query stöder inte Was Ever på DateTime-fält Använd direkt WIQL-syntax i stället för visuell frågeredigerare. Mer information finns i Syntax för WIQL (Work Item Query Language).
Boolesk fältfråga returnerar inga resultat Värdet är skiftlägeskänsligt i WIQL-frågor Använd exakt versalisering: CustomBoolField = True eller CustomBoolField = False (stort T/F i WIQL).

Fråga efter makron och variabler

Använd följande makron för att filtrera frågor dynamiskt.

Anteckning

Följande makron stöds bara från webbportalen: @CurrentIteration, @CurrentIteration +/- n, @Follows, @MyRecentActivity, @RecentMentions, @RecentProjectActivity och @TeamAreas. Frågor som innehåller dessa makron fungerar inte när de öppnas i Visual Studio/Team Explorer, Microsoft Excel eller Microsoft Project.

Makro Description
[Vilken som helst] Använd med typ av arbetsobjekt eller tillstånd för att söka i alla typer eller tillstånd. Tar till exempel Work Item Type=[Any] bort typbaserad filtrering.
@CurrentIteration Använd med Iteration Path för att filtrera efter arbetsobjekt i den aktuella sprinten baserat på den aktuella teamkontexten. Exempel finns i Fråga efter datum eller aktuell iteration . @CurrentIteration fungerar bara när den körs från webbportalen (inte i REST-API:er eller vissa kopierings-/kloningsåtgärder).
@CurrentIteration +/- n Använd med iterationssökväg för att inkludera sprintar i förhållande till den aktuella iterationen (till exempel @CurrentIteration-1 eller @CurrentIteration+2). Stöds i webbportalen för Azure-tavlor och Azure DevOps Server.
@Follows Använd med ID och operatorn In för att visa arbetsobjekt som du följer i projektet. Se även Följ ett arbetsobjekt eller en pull-begäran. Det här makrot fungerar bara från webbportalen.
@Me Använd med identitetsfält för att filtrera efter objekt som är länkade till ditt konto (till exempel Created By=@Me). Se Fråga efter tilldelning, arbetsflöde eller tavelförändringar.
@MyRecentActivity Använd med ID och In för att visa arbetsobjekt som du har visat eller uppdaterat under de senaste ~30 dagarna. Se sidan Arbetsobjekt under pivoten Min aktivitet för samma lista.
@Project Använd med Team Project för att filtrera efter arbetsobjekt i det aktuella projektet (till exempel Team Project=@Project). Se Fråga mellan olika projekt.
@RecentMentions Använd med ID och In för att lista arbetsobjekt där du nämns i Diskussioner. Se sidan Arbetsobjekt Nämnda pivot.
@RecentProjectActivity Använd med ID och In för att visa en lista över nyligen uppdaterade arbetsobjekt i projektet. Makrot returnerar upp till 5 000 objekt. det faktiska fönstret beror på projektaktivitet.
@StartOfDay Använd med DateTime-fält för att filtrera relativt dagens (till exempel Closed Date>=@StartOfDay-7).
@StartOfMonth Använd med DateTime-fält för att filtrera i förhållande till början av månaden (till exempel Created Date>=@StartOfMonth-3).
@StartOfWeek Använd med DateTime-fält för att filtrera i förhållande till veckans början (till exempel Changed Date>=@StartOfWeek-2).
@StartOfYear Använd med DateTime-fält för att filtrera i förhållande till årets start (till exempel Target Date>=@StartOfYear).
@TeamAreas Använd endast med Områdessökväg och operatorn = för att hitta objekt som tilldelats till ett teams områdessökvägar (till exempel Area Path=@TeamAreas [Fabrikam Fiber]\Web). Stöds i webbportalen för Azure-tavlor och Azure DevOps Server.
@Today Använd med DateTime-fält för att filtrera relativt dagens (till exempel Created Date>=@Today-7). Se Fråga efter datum eller aktuell iteration.

Vanliga makroexempel

Här är representativa frågeexempel som använder makron för att göra frågor dynamiska:

Query Returer (webbportal)
Iteration Path = @CurrentIteration Arbetsobjekt i den aktuella sprinten
Iteration Path = @CurrentIteration-1 Arbetsobjekt i föregående sprint
Assigned To = @Me Objekt som tilldelats den aktuella användaren
Created Date >= @Today-30 Objekt som skapats under de senaste 30 dagarna
State = Active AND Area Path = @TeamAreas [Project]\MyTeam Aktiva objekt i teamets område
Work Item Type = [Any] Alla typer av arbetsobjekt (tar bort typfiltrering)
Assigned To In Group @Follows Objekt som tilldelats personer som du följer

Anteckning

Makron som @CurrentIteration, @Me, @Followsoch @TeamAreas fungerar bara i webbportalen. För REST-API:er, CLI och Power BI använder du direktdatum och användar-ID:t i stället. Alternativ finns i Fråga efter datum eller aktuell iteration.

REST-API

Om du vill interagera programmatiskt med frågor kan du läsa någon av dessa REST API-resurser: