# GetUserAttr Komut dosyası ve grafik fonksiyonu

GetUserAttr() fonksiyonu, bir uygulamaya erişen kullanıcı için aşağıdaki bilgileri döndürür:

* E-posta adresi

* Konu

* Kimlik sağlayıcı (IdP) grupları ve özel gruplar gibi kullanıcının ait olduğu gruplar

* Tercih edilen dil

* Saat dilimi

GetUserAttr() fonksiyonunu doğrudan yükleme komut dosyasında veya bir grafik ifadesinde kullanın. Her iki durumda da, fonksiyonu, öznitelikleri bir değişkende veya doğrudan bir değişken olmadan saklamak için kullanabilirsiniz. Bu fonksiyonu Qlik Sense Client-Managed içinde kullanırsanız yalnızca boş veri değerleri döndürür. Bu nedenle, daha sonra uygulamaları Qlik Cloud içine yüklemek amacıyla, Qlik Sense Client-Managed içinde hatalarla karşılaşmadan komut dosyaları geliştirmek için bu fonksiyonu kullanabilirsiniz.

Söz Dizimi:

GetUserAttr(name)

Dönüş verileri türü: dual

Bağımsız Değişkenler

| Bağımsız Değişken | Açıklama |
| --- | --- |
| name | Döndürülecek özniteliğin adı. İfadeye bir dize değeri olarak girin. Girilen dize değeri büyük/küçük harfe duyarlıdır. |

Fonksiyonu, kullanıcı özniteliklerini uygulamanıza yüklemek için kullanın. Fonksiyon aşağıdaki öznitelikleri döndürebilir:

GetSysAttr()GetSysAttr() fonksiyonu tarafından döndürülebilen kullanıcı öznitelikleri

| Öznitelik | Açıklama | Yükleme komut dosyası değişkeni örneği | Grafik ifadesi (değişken yoktur) örneği | Örnek grafik ifadesi sonuçları |
| --- | --- | --- | --- | --- |
| userEmail | Geçerli kullanıcının e-postası. | `Let vUserEmail = GetUserAttr('userEmail')` | `=GetUserAttr('userEmail')` | `john.doe@company.com` |
| userSubject | Geçerli kullanıcının konusu. | `Let vUserSubject = GetUserAttr('userSubject')` | `=GetUserAttr('userSubject')` | `00uss7ra3dk9doJln0x7` |
| userGroups | Geçerli kullanıcının ait olduğu gruplar (IdP, özel veya her ikisi). Bir dize içinde virgülle ayrılmış bir grup listesi döndürür. Varsayılan olarak, `QlikCloudGroupMode` sistem değişkeni bir komut dosyası deyiminde ayarlanmadığı sürece `GetUserAttr`, IdP gruplarını döndürür.<br><br>[QlikCloudGroupMode](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemVariables/QlikCloudGroupMode.htm). | `Let vUserGroups = GetUserAttr('userGroups')` | `=GetUserAttr('userGroups')` | `Sales,Product-Lead,OKTA-Github-RnD` |
| userLocale | Kullanıcının Ayarlar'ında ayarlanan, kullanıcının tercih ettiği dil.<br><br>[Kişisel ayarlarınızı yönetme](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/profile-settings.htm) | `Let vUserLocale = GetUserAttr('userLocale')` | `=GetUserAttr('userLocale')` | `en` |
| userZoneinfo | Kullanıcının Ayarlarında ayarlanan, kullanıcının saat dilimi.<br><br>[Kişisel ayarlarınızı yönetme](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/profile-settings.htm) | `Let vUserLanguage = GetUserAttr('userZoneinfo')` | `=GetUserAttr('userZoneinfo')` | `Europe/London` |

## GetUserAttr ne zaman kullanılmalı?

Bu fonksiyon, uygulamanın mevcut kullanıcısı için kullanıcı özelliklerini ve gruplarını döndürür. Bu, kullanıcılarınız için görünen içeriği özelleştiren çözümler oluşturmanıza olanak tanır. Örneğin, global bir satış uygulamasında, ürüne özel sayfaları yalnızca belirli bir ürün grubundan sorumlu olan satış temsilcilerine gösterebilirsiniz. Fonksiyonu, uygulamanın yükleme komut dosyasındaki yükleme deyimlerinde veya grafik ifadelerinde, doğrudan bir ifade olarak ya da değişken olarak saklanan bir ifadede kullanın.

[Dynamic titles based on user language using the GetUserAttr function](https://play.vidyard.com/bozy96G13YU5YrBjnqNNDF)

## Örnek - Kullanıcı özniteliklerini komut dosyası içinde değişken olarak saklama

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/GetUserAttr.htm)

#### Komut dosyası değişkenleri ve grafik ifadeleri

Bu örnek, oluşturduğunuz uygulama içeriğinde kullanılabilecek bir dizi komut dosyası değişkenini tanımlar. Uygulama her yeniden yüklendiğinde, öznitelikler değerlendirilir ve uygulamaya eklenir.

Aşağıdakileri yapın:

1. Yeni bir Qlik Sense uygulama oluşturun.

2. Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir bölüme ekleyin. Komut dosyası şunları içerir:

   * Örnek işlem verilerini içeren, `Transactions` adı verilen yeni bir tablo. Bu herhangi bir veri ile değiştirilebilir ve yer tutucu olarak eklenir.

   * `QlikCloudGroupMode` sistem değişkenini `2` olarak ayarlayan bir komut dosyası deyimi. `userGroups` özniteliği hem IdP hem de kullanıcının ait olduğu özel grupları döndürecektir.

   * GetSysAttr() fonksiyonunun döndürebildiği mevcut öznitelikler için bir dizi komut dosyası değişkeni tanımı.

     ```
     Set QlikCloudGroupMode = 2;
     Transactions:
     Load * inline [
     id,date,amount
     1,1/1/2023,500.67
     2,1/2/2023,458.91
     3,1/3/2023,12.34
     4,1/4/2023,90.90
     5,1/5/2023,256.30
     6,1/6/2023,789.16
     7,1/7/2023,501.25
     8,1/8/2023,87.01
     9,1/9/2023,161.16
     10,1/10/2023,300.06
     ];
     Let vUserEmail = GetUserAttr('userEmail');
     Let vUserSubject = GetUserAttr('userSubject');
     Let vUserGroups = GetUserAttr('userGroups');
     Let vUserLocale = GetUserAttr('userLocale');
     Let vUserZoneinfo = GetUserAttr('userZoneinfo');
     ```

3. Verileri yükleyin ve gelişmiş düzenleme modunda yeni bir sayfa açın.

4. Bir tablo oluşturun ve aşağıdaki ifadeleri boyut olarak ekleyin:

   * `=vUserEmail`

   * `=vUserSubject`

   * `=vUserGroups`, bir dize içinde virgülle ayrılmış bir liste döndürür

   * `=vUserLocale`

   * `=vUserZoneinfo`

İpucu notuBoyutu oluştururken daha iyi okunabilirlik için Kullanıcı E-postası gibi bir boyut etiketi ekleyebilirsiniz.

Tablodaki çıktı, mevcut kullanıcı özniteliklerini dinamik olarak görüntüler. Aşağıdaki tabloda, `GetUserAttr` fonksiyonu kullanılarak döndürülen sonuçların bir örneği gösterilmektedir.

Sonuçlar tablosu

| =vUserEmail | =vUserSubject | =vUserGroups | =vUserLocale | =vUserZoneinfo |
| --- | --- | --- | --- | --- |
| john.doe@company.com | 00uss7ra3dk9doJln0x7 | Sales,Product-Lead,OKTA-Github-RnD | tr-TR | Amerika/Toronto |

## Örnek – Kullanıcı özniteliklerini değişkenler olarak saklama ve bunları grafik ifadelerinde kullanma

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/GetUserAttr.htm)

#### Değişkenler ve grafik ifadeleri

Bu örnekte, değişkenler komut dosyasında tanımlanmak yerine uygulamada tanımlanır. Tanımlandıktan sonra, değişkenler uygulamadaki grafik ifadelerinde kullanılabilir. Grafik ifadelerinde işlevi kullanmanın temel faydası, özniteliklerin uygulamayı yeniden yüklemeye gerek kalmadan otomatik olarak yenilenmesidir. Bu, uygulamaların, uygulama yaşam döngüsü kapsamında kullanıcılar arasında daha sorunsuz hareket etmesini sağlar.

Aşağıdakileri yapın:

1. Yeni bir Qlik Sense uygulama oluşturun.

2. Gelişmiş düzenleme modunda yeni bir sayfa açın.

3. Değişkenler iletişim kutusunu açın.

4. Yeni oluştur öğesini seçin ve ardından aşağıdakileri yapın:

   * Ad altında vUserEmail girin.

   * Tanım altında =GetUserAttr('userEmail') girin.

   * Oluştur öğesini seçin.

   Kullanıcının e-posta adresini görüntülemek için bir uygulama değişkeni oluşturulur. Aşağıdaki parametreleri kullanarak kalan nitelikler için bir değişken oluşturmak üzere bu adımı tekrarlayın:

   * Kullanıcı Konusu

     * Ad: vUserSubject

     * Tanım: =GetUserAttr('userSubject')

   * Kullanıcı Grupları

     * Ad: vUserGroups

     * Tanım: =GetUserAttr('userGroups')

   * Kullanıcı Yerel Ayarı

     * Ad: vUserLocale

     * Tanım: =GetUserAttr('userLocale')

   * Kullanıcı Bölge Bilgisi

     * Ad: vUserZoneinfo

     * Tanım: =GetUserAttr('userZoneinfo')

5. Bir tablo oluşturun ve aşağıdaki ifadeleri boyut olarak ekleyin:

   * `=vUserEmail`

   * `=vUserSubject`

   * `=vUserGroups` (bir dize içinde virgülle ayrılmış bir liste döndürür)

   * `=vUserLocale`

   * `=vUserZoneinfo`

İpucu notuBoyutu oluştururken daha iyi okunabilirlik için Kullanıcı E-postası gibi bir boyut etiketi ekleyebilirsiniz.

Yeni tablodaki çıktı, mevcut kullanıcı özniteliklerini dinamik olarak görüntüler. Aşağıdaki tabloda, `GetUserAttr` fonksiyonundan döndürülen sonuçların bir örneği gösterilmektedir.

Sonuçlar tablosu

| =vUserEmail | =vUserSubject | =vUserGroups | =vUserLocale | =vUserZoneinfo |
| --- | --- | --- | --- | --- |
| john.doe@company.com | 00uss7ra3dk9doJln0x7 | Sales,Product-Lead,OKTA-Github-RnD | tr-TR | Amerika/Toronto |

Bilgi notuVarsayılan olarak `GetUserAttr('userGroups')` fonksiyonu, kullanıcı için IdP gruplarını döndürür. Bir komut dosyası deyiminde `QlikCloudGroupMode` sistem değişkenini ayarlayarak hangi grupların döndürüleceğini seçebilirsiniz; örneğin `Set QlikCloudGroupMode = 2` hem IdP hem de özel grupları döndürür. Daha fazla bilgi için şuraya bakın: [QlikCloudGroupMode](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemVariables/QlikCloudGroupMode.htm).

## Örnek – GetUserAttr fonksiyonunu komut dosyasında kullanma

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/GetUserAttr.htm)

#### Komut dosyası

Fonksiyonu uygulamalarınızda değişken olmadan da kullanabilirsiniz. Bu örnek, her bir özniteliği ayrı bir alan olarak içeren bir tablonun nasıl yükleneceğini göstermektedir. Buradan, bu ayrıntıları görüntülemek için uygulamada görselleştirmeler oluşturabilirsiniz.

Aşağıdakileri yapın:

1. Yeni bir Qlik Sense uygulama oluşturun.

2. Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir bölüme ekleyin. Komut dosyası şunları içerir:

   * Her özniteliği bir alan olarak içeren `Attributes` adlı yeni bir tablo.

   * Özel gruplar için `QlikCloudGroupMode` sistem değişkenini `1` olarak ayarlayan bir komut dosyası deyimi. `userGroups` özniteliği yalnızca kullanıcının ait olduğu özel grupları döndürecektir.

   ```
   Set QlikCloudGroupMode = 1;
   Attributes:
   Load RowNo() as Key,
   GetUserAttr('userEmail') as UserEmail,
   GetUserAttr('userSubject') as UserSubject,
   GetUserAttr('userLocale') as UserLocale,
   GetUserAttr('userZoneinfo') as UserZoneinfo,
   GetUserAttr('userGroups') as UserGroups autogenerate 1;
   ```

3. Verileri yüklemesini. Veri modelinde, özniteliklerin her birini ayrı alanlarda görüntüleyen bir tablo oluşturulur.

   Artık öznitelik alanlarını tablolar veya metin ve görüntü nesneleri gibi görselleştirmelerde kullanabilirsiniz.

## Örnek – GetUserAttr fonksiyonunu grafik ifadesinde kullanma

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/GetUserAttr.htm)

#### Grafik ifadeleri

Fonksiyonu bir değişken kullanmadan doğrudan grafik ifadelerine girebilirsiniz. Kullanıcı öznitelikleri, uygulamayı yeniden yüklemeye gerek kalmadan yenilenir. Bu, uygulamaların uygulama yaşam döngüsünün bir parçası olarak kullanıcılar arasında daha sorunsuz taşınmasını sağlar.

Aşağıdakileri yapın:

1. Yeni bir Qlik Sense uygulama oluşturun.

2. Gelişmiş düzenleme modunda yeni bir sayfa açın.

3. Sayfaya bir Metin ve resim nesnesi sürükleyin.

4. Boş grafiğin içine tıklayın ve aşağıdaki etiketi girin:

   Kullanıcı E-postası:

5. Özellikler panelinde Hesaplama ekle'yi seçin.

6. Aşağıdaki ifadeyi girin:

   * =GetUserAttr('userEmail')

7. Diğer öznitelikler olan için etiketleri ve hesaplamaları yeni satırlara ekleyin. Her bir öznitelik için aşağıdaki ifadeleri kullanın:

   * =GetUserAttr('userSubject'), Kullanıcı Konusu için

   * =GetUserAttr('userGroups'), Kullanıcı Grupları için

   * =GetUserAttr('userLocale'), Kullanıcı Yerel Ayarı için

   * =GetUserAttr('userZoneinfo'), Kullanıcı Bölge bilgisi için​

Bilgi notuVarsayılan olarak `GetUserAttr('userGroups')` fonksiyonu, kullanıcı için IdP gruplarını döndürür. Bir komut dosyası deyiminde `QlikCloudGroupMode` sistem değişkenini ayarlayarak hangi grupların döndürüleceğini seçebilirsiniz; örneğin `Set QlikCloudGroupMode = 2` hem IdP hem de özel grupları döndürür. Daha fazla bilgi için şuraya bakın: [QlikCloudGroupMode](https://help.qlik.com/tr-TR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemVariables/QlikCloudGroupMode.htm).

## Örnek - Grafik ifadesi kullanarak bir sütunu koşullu olarak gizleme

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/GetUserAttr.htm)

#### Grafik ifadeleri

Genel bakış

Bu örnek, kullanıcının e-posta adresinin etki alanına göre tablodaki bir sütunu gösterir veya gizler.

Aşağıdakileri yapın:

1. Yeni bir Qlik Sense uygulama oluşturun.

2. Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir bölüme ekleyin. Komut dosyası şunları içerir:

   * `Transactions` adlı tabloya yüklenen bir veri kümesi.

   * Veri tablosundaki şu alanlar:

     * `ID`

     * `Date`

     * `Amount`

     Komut dosyası

     ```
     Transactions:
     Load * inline [
     ID, Date, Amount
     1, 1/1/2023, 500.67
     2, 1/2/2023, 458.91
     3, 1/3/2023, 12.34
     ];
     ```

3. Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:

   * `ID`

   * `Date`

   * `Amount`

   Şu ifadeyi hesaplanan boyut olarak ekleyin:

   * `=WildMatch(GetUserAttr('userEmail'),'*@qlik.com')>0`, kullanıcının e-posta alan adının `@qlik.com` ile eşleşip eşleşmediğini kontrol etmek için.

4. `Amount` boyutunun özellikler panelinde, Şu durumda sütunu göster: öğesinin altına aşağıdaki ifadeyi ekleyin:

   * `=WildMatch(GetUserAttr('userEmail'),'*@qlik.com')>0`, kullanıcının e-postası `qlik.com` etki alanıyla eşleşiyorsa Tutar sütununu görüntülemek için.

   İfade, yalnızca e-posta adresi etki alanı `@qlik.com` içeren kullanıcılar için `Amount` sütununu görüntüleyecektir. Sütun, diğer alan adlarına sahip kullanıcılar için gizlenecektir.

Results table 1 - User with email address: `user@qlik.com`user@qlik.com

| ID | Date | Amount | WildMatch(GetUserAttr('userEmail'),'\*@qlik.com')&gt;0 |
| --- | --- | --- | --- |
| 1 | 1/1/2023 | 500.67 | -1 |
| 2 | 1/2/2023 | 458.91 | -1 |
| 3 | 1/3/2023 | 12.34 | -1 |

Results table 2 - User with email address: `user@gmail.com`user@gmail.com

| ID | Date | WildMatch(GetUserAttr('userEmail'),'\*@qlik.com')&gt;0 |
| --- | --- | --- |
| 1 | 1/1/2023 | 0 |
| 2 | 1/2/2023 | 0 |
| 3 | 1/3/2023 | 0 |

Bu örnekte, belirli bir sütunu koşullu olarak gizlemek veya göstermek için `GetUserAttr` işlevinin nasıl kullanıldığını görebilirsiniz. Uygulamayı görüntüleyen kullanıcının e-posta adresi `@qlik.com` etki alanını içerdiğinden ve 4. sütundaki boyut ifadesi `-1` döndürdüğünden `Amount` sütunu ilk tabloda gösterilir. Kullanıcının `qlik.com` etki alanına sahip bir e-posta adresi olmadığı için `Amount` sütunu ikinci tablodaki sonuçlardan gizlenir.