match - script- en diagramfunctie
Met de functie match vergelijkt u de eerste parameter met alle volgende parameters en krijgt u de numerieke locatie van de overeenkomende uitdrukkingen als resultaat. De vergelijking is hoofdlettergevoelig.
Syntaxis:
match( str, expr1 [ , expr2,...exprN ])
In sommige voorbeelden in dit onderwerp worden inline loads gebruikt. Ga voor meer informatie naar Inline loads.
Voorbeeld: Load-script dat gebruikmaakt van match
Load-script
U kunt match gebruiken om een gegevens-subset te laden. U kunt bijvoorbeeld een numerieke waarde als resultaat krijgen voor een uitdrukking in de functie. Vervolgens kunt u de geladen gegevens beperken op basis van de numerieke waarde. Match geeft 0 als resultaat als er geen overeenkomst is. Alle uitdrukkingen zonder overeenkomst hebben in dit voorbeeld daarom 0 als resultaat en worden uitgesloten van de gegevens die zijn geladen door de WHERE-instructie.
Maak een nieuw tabblad in de editor voor laden van gegevens en laad de volgende gegevens als een inline load. Maak de onderstaande tabel in Qlik Sense om de resultaten te bekijken.
Transactions: Load * Inline [ transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code 3750, 20180830, 23.56, 2, 2038593, L, Red 3751, 20180907, 556.31, 6, 203521, m, orange 3752, 20180916, 5.75, 1, 5646471, S, blue 3753, 20180922, 125.00, 7, 3036491, l, Black 3754, 20180922, 484.21, 13, 049681, xs, Red 3756, 20180922, 59.18, 2, 2038593, M, Blue 3757, 20180923, 177.42, 21, 203521, XL, Black ]; /* Create new table called Transaction_Buckets Create new fields called Customer, and Color code - Blue and Black Load Transactions table. Match returns 1 for 'Blue', 2 for 'Black'. Does not return a value for 'blue' because match is case sensitive. Only values that returned numeric value greater than 0 are loaded by WHERE statment into Transactions_Buckets table. */ Transaction_Buckets: Load customer_id, customer_id as [Customer], color_code as [Color Code Blue and Black] Resident Transactions Where match(color_code,'Blue','Black') > 0;
Resultaten
Color Code Blue and Black | Customer |
---|---|
Black | 203521 |
Black | 3036491 |
Blue | 2038593 |
Voorbeelden - Diagramuitdrukkingen die gebruikmaken van match
Diagramuitdrukking 1
Load-script
Maak een nieuw tabblad in de editor voor laden van gegevens en laad de volgende gegevens als een inline load. Nadat u de gegevens hebt geladen, maakt u de diagramuitdrukking in een Qlik Sense-tabel op basis van de onderstaande voorbeelden.
MyTable: Load * inline [Cities, Count Toronto, 123 Toronto, 234 Toronto, 231 Boston, 32 Boston, 23 Boston, 1341 Beijing, 234 Beijing, 45 Beijing, 235 Stockholm, 938 Stockholm, 39 Stockholm, 189 zurich, 2342 zurich, 9033 zurich, 0039];
De eerste uitdrukking in de onderstaande tabel geeft 0 als resultaat voor Stockholm, aangezien 'Stockholm' niet is opgenomen in de lijst met uitdrukkingen in de functie match. Het geeft eveneens 0 als resultaat voor 'Zurich' omdat de match-vergelijking hoofdlettergevoelig is.
Cities | match( Cities,'Toronto','Boston','Beijing','Zurich') | match( Cities,'Toronto','Boston','Beijing','Stockholm','Zurich') |
---|---|---|
Beijing |
3 |
3 |
Boston | 2 | 2 |
Stockholm | 0 | 4 |
Toronto | 1 | 1 |
zurich | 0 | 5 |
Diagramuitdrukking 2
U kunt match gebruiken om een uitdrukking op aangepaste wijze te sorteren.
Kolommen worden standaard numeriek of alfabetisch gesorteerd, afhankelijk van de gegevens.
Cities |
---|
Beijing |
Boston |
Stockholm |
Toronto |
zurich |
U kunt de volgorde als volgt veranderen:
- Open de sectie Sorteren in het eigenschappenvenster.
- Schakel automatisch sorteren uit voor de kolom die u aangepast wilt sorteren.
- Hef de selecties Numeriek sorteren en Alfabetisch sorteren op.
-
Selecteer Sorteren op uitdrukking en voer een uitdrukking in die hierop lijkt:
=match( Cities, 'Toronto','Boston','Beijing','Stockholm','zurich')
De sorteervolgorde van de kolom Cities wordt gewijzigd.
Cities |
---|
Toronto |
Boston |
Beijing |
Stockholm |
zurich |
U kunt ook de numerieke waarde bekijken die is geretourneerd.
Cities | Cities & ' - ' & match ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','zurich') |
---|---|
Toronto | Toronto - 1 |
Boston | Boston - 2 |
Beijing | Beijing - 3 |
Stockholm | Stockholm - 4 |
zurich | zurich - 5 |