Arbeta med relaterade data i portaler
När du visar relaterade data i en portal visas värden från alla relaterade poster, enligt användarens behörighet. När det relaterade fältet finns utanför en portal visas däremot värdet från den första relaterade posten.
Sortera portaldata
Använd dialogrutan Ändra relation om du vill sortera relaterade poster i en portal. Mer information finns i Skapa och ändra relationer. När Sortera poster är markerat och data i ett relaterat fält i en portal ändras kommer portalens poster att sorteras om varje gång de relaterade posterna utvärderas på nytt. Om du till exempel växlar till en annan post och därefter öppnar samma post igen eller ändrar värdet i det matchande fältet sorteras posterna på nytt. (Använd Scriptsteget Uppdatera portal om du vill få bättre kontroll över hur sorteringsordningen uppdateras.)
Sorteringsordningen som anges i dialogrutan Portalkonfiguration får företräde framför sorteringsordningen som anges i dialogrutan Ändra relation. Om du inte anger någon sorteringsordning varken för portalen eller relationen visas relaterade poster i portalen i ursprunglig ordning. Mer information finns i Skapa portaler för att visa relaterade poster.
Filtrera poster i portaler
Du kan filtrera poster i portaler för att visa olika uppsättningar relaterade poster i en portal.
- Dubbelklicka på portalen i layoutläget.
- Välj Filtrera portalposter.
- Definiera en beräkning utvärderas till Sant för portalposterna som ska visas.
Till exempel kan du använda layouten Fakturor i en portal som visar produktposter från tabellen Radposter. Om du bara vill visa de produkter vars kvantitet är större än eller lika med ett använder du formeln
If (Radposter::Kvantitet < 1; 0; 1)
.Viktigt Resultaten av statistikfält, beräkningar och sökfrågor baseras på den fullständiga uppsättningen relaterade poster, inte bara filtrerade poster i en portal. Om en portal exempelvis visar en filtrerad delmängd poster och det finns ett Summa-statistikfält utanför portalen som summerar de här posterna, visar statistikfältet summan av alla relaterade poster, inte bara de visade posterna. Om du vill använda data från de filtrerade portalposterna för ett statistikfält, en beräkning eller en sökfråga skapar du en ny relation med samma villkor som för de filtrerade portalposterna. Sedan använder du relaterade fält från den relationen för statistikfältet, beräkningen eller sökfrågan.
Summera data i portaler
Du kan summera data som finns i ett relaterat fält som visas i en portal. Du kan till exempel få totalsumman för alla relaterade poster.
För att göra det placerar du ett statistikfält i tabellen som relaterade poster visas från (tabellen som visas i dialogrutan Portalkonfiguration). Placera sedan statistikfältet i den layout som innehåller portalen.
Anta att en layout använder en portal för att visa all försäljning per säljare, och du vill använda ett statistikfält som visar den totala försäljningssumman.
Så här sammanfattar du data i en portal för det här enkla exemplet:
- Skapa två tabeller med följande fält:
- Skapa en relation mellan de två fälten SäljarID i relationsdiagrammet.
- Lägg till de fyra fälten i tabellen Försäljning i layouten Försäljning i layoutläget (om de inte har lagts till automatiskt). Lägg till de två fälten i tabellen Säljare bordet i layouten Säljare.
- Skapa en portal på layouten Säljare som visar relaterade poster från tabellen Försäljning. Ta med följande relaterade fält från tabellen Försäljning i portalen: TransaktionsID, Summa, Total försäljning.
Du kan även placera statistikfältet (Försäljning::Total försäljning) var som helst i layouten Säljare. Mer information finns i Placera och radera fält i en layout.
- Växla till bearbetningsläget och lägg till följande poster i tabellen Försäljning:
- Växla till layouten Säljare och lägg till följande data:
Tabellnamn |
Fältnamn |
Fälttyp |
Kommentar |
Försäljning |
TransaktionsID |
Text |
Primärnyckel |
|
SäljarID |
Text |
Främmande nyckel |
|
Summa |
Numeriskt |
|
|
Total försäljning |
Statistik |
Beräknar totalsumman av fältet Summa – mer information finns i Definiera statistikfält |
Säljare |
SäljarID |
Text |
Primärnyckel |
|
Namn |
Text |
|
Postnummer |
Fält |
Data |
1 |
TransaktionsID |
T1 |
|
SäljarID |
S1 |
|
Summa |
246,00 |
2 |
TransaktionsID |
T2 |
|
SäljarID |
S2 |
|
Summa |
52,75 |
3 |
TransaktionsID |
T3 |
|
SäljarID |
S1 |
|
Summa |
10,50 |
4 |
TransaktionsID |
T4 |
|
SäljarID |
S2 |
|
Summa |
150,00 |
5 |
TransaktionsID |
T5 |
|
SäljarID |
S1 |
|
Summa |
17,80 |
FileMaker Pro fyller i värdet i fältet Total försäljning.
Postnummer |
Fält |
Data |
1 |
SäljarID |
S1 |
|
Namn |
Anders Carlsson |
2 |
SäljarID |
S2 |
|
Namn |
Stefan Lang |
FileMaker Pro anger de relaterade värdena från tabellen Försäljning i portalens rader, och beräknar totalsumman av all försäljning för den säljaren i statistikfältet Total försäljning.
Kommentarer
- Alternativen för portalfiltrering och sortering i dialogrutan Portalkonfiguration är otillgängliga för portaler som visar poster från aktuell tabell. Mer information finns i Skapa portaler för lista–detalj-layouter.
- Du kan visa data från en enda relation i flera portaler på samma sida och använda olika sorteringsordningar för varje portal.
- Posterna filtreras enbart i visningssyfte, inte av säkerhetsskäl.
- Resultatet av en portalfilterberäkning skulle vara detsamma som resultatet i ett beräkningsfält i den relaterade tabellen.
- Även om fält i portalposter uppdateras när data ändras utvärderas ett portalfilter först vid inläsning av posten. Använd Scriptsteget Uppdatera portal om du vill uppdatera portalfiltreringen när posten har lästs in.
- Du kan använda ett beräkningsfält för att definiera en formel om du vill ha en mer komplex statistik över dina data. Mer information finns i Definiera beräkningsfält.