# Nagłówki wyrażeń

Użyj nagłówków w wyrażeniach kolumn, aby zachować metadane zmian, takie jak nazwa operacji lub pozycja w strumieniu źródłowym.

Nagłówki `Q_H_` są dostępne w zadaniach umieszczania zarządzanych przez SaaS, umieszczania w usłudze Lake i replikacji. Wstaw nagłówek z listy Nagłówki edytora, gdy [Tworzenie wyrażeń](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Building-expressions.htm). Poniższa tabela określa możliwość zastosowania źródłowego punktu końcowego oraz wartości podczas pełnego ładowania i przetwarzania zmian.

## Nagłówki dla wszystkich źródłowych punktów końcowych

Nagłówki ogólne i wartości fazy przetwarzania

| Nagłówek i typ danych | Wartość podczas przetwarzania zmian | Wartość podczas pełnego ładowania |
| --- | --- | --- |
| `Q_H_CHANGE_SEQ`<br><br>`STRING(50)` | Monotonicznie rosnąca sekwencja zmian w tabelach zmian zadania. Łączy znacznik czasu z poprzedzonym zerami licznikiem zmian, aby uporządkować zmiany w ramach zadania. | Puste |
| `Q_H_STREAM_POSITION`<br><br>`STRING(50)` | Pozycja w źródłowym strumieniu zmian, zazwyczaj SCN lub LSN. Identyfikuje lokalizację strumienia źródłowego, a nie znacznik czasu ani sekwencję porównywalną między zadaniami. | Pusty ciąg znaków. |
| `Q_H_TIMESTAMP`<br><br>`DATETIME(0)` | Znacznik czasu operacji zmiany. Jest to znacznik czasu operacji, a nie znacznik czasu zatwierdzenia transakcji. | Bieżący znacznik czasu. |
| `Q_H_TRANSACTION_ID`<br><br>`STRING(50)` | Transakcja zawierająca zmianę, reprezentowana jako 128-bitowy szesnastkowy identyfikator transakcji. Nie ma gwarancji, że identyfikator jest unikatowy. | Puste |
| `Q_H_COMMIT_TIMESTAMP`<br><br>`DATETIME(0)` | Znacznik czasu zatwierdzenia transakcji źródłowej, reprezentowany przez środowisko uruchomieniowe przetwarzania. Różni się od czasu źródłowego serwera bazy danych w `Q_H_DB_COMMIT_TIMESTAMP`. | Bieżący znacznik czasu. |
| `Q_H_DB_COMMIT_TIMESTAMP`<br><br>`DATETIME(0)` | Znacznik czasu zatwierdzenia transakcji źródłowej według czasu serwera źródłowej bazy danych. | Wartość null |
| `Q_H_OPERATION`<br><br>`STRING(50)` | `INSERT`, `UPDATE` lub `DELETE`. | `INSERT`. |

Sekwencja zmian łączy znacznik czasu sformatowany jako `YYYYMMDDHHmmSShh` z 19-cyfrowym, poprzedzonym zerami licznikiem zmian. Pola znacznika czasu to rok, miesiąc, dzień, godzina, minuta, sekunda i setne części sekundy. Część ze znacznikiem czasu może się powtarzać, podczas gdy licznik rośnie. Zadeklarowana pojemność `STRING(50)` nie jest długością formatu sekwencji.

Nie należy polegać na `Q_H_TRANSACTION_ID` jako kluczu unikatowym. Używaj `Q_H_CHANGE_SEQ` do określania kolejności zmian na poziomie zadań zamiast samego porównywania znaczników czasu.

## Nagłówki specyficzne dla źródła

Do wymienionych punktów końcowych mają zastosowanie następujące ograniczenia dotyczące źródła. Nie oznaczają one obsługi innych wariantów programu SQL Server ani innych źródeł plików.

Nagłówki specyficzne dla źródła oraz wartości fazy przetwarzania

| Nagłówek i typ danych | Źródłowe punkty końcowe | Wartość podczas przetwarzania zmian | Wartość podczas pełnego ładowania |
| --- | --- | --- | --- |
| `Q_H_USER`<br><br>`STRING(50)` | Microsoft SQL Server; Microsoft Azure SQL Managed Instance; Amazon RDS for SQL Server; IBM Informix; IBM DB2 for z/OS; IBM DB2 for LUW; Oracle; Plik; SAP Sybase ASE. | Użytkownik, który wprowadził zmianę źródłową. | Puste |
| `Q_H_JOB_NAME`<br><br>`STRING(50)` | Tylko IBM DB2 for iSeries. | Zadanie, które wprowadziło zmianę źródłową. | Puste |
| `Q_H_PROGRAM_NAME`<br><br>`STRING(50)` | Tylko IBM DB2 for iSeries. | Program, który wprowadził zmianę źródłową. | Puste |
| `Q_H_XACT_ID`<br><br>`STRING(50)` | Microsoft SQL Server; Microsoft Azure SQL Managed Instance; Amazon RDS for SQL Server. | Identyfikator czasu transakcji: LSN pierwszego rekordu dla ostatniej transakcji rozproszonej serwera. Wszystkie rekordy w transakcji mają ten sam identyfikator. Różni się to od `Q_H_TRANSACTION_ID`, który jest uzyskiwany z fizycznego dziennika transakcji. | Puste |

## Korzystanie z metadanych operacji

Dodaj kolumnę i wstaw `Q_H_OPERATION`, aby zarejestrować operację źródłową. Podczas pełnego ładowania jego wartość wynosi `INSERT`. Podczas przetwarzania zmian aktualizacja ma wartość `UPDATE`.

Nagłówek operacji opisuje operację; nie zmienia on obsługi usuwania obiektu docelowego. Aby zwrócić niestandardowe flagi dla operacji źródłowych, zobacz `$OPERATION_INDICATOR` w [Funkcje wyrażeń](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Expression-functions.htm).

## Kolumny nagłówka strumieniowego umieszczania

Zadania Streaming Transform używają kolumn źródłowych, takich jak `hdr__kafka_partition`, `hdr__kinesis_offset` lub `hdr__file_name`. Nie są to aliasy nagłówków `Q_H_`. Wybierz nagłówki strumieniowego umieszczania z Kolumn. W przypadku list specyficznych dla źródła zobacz [Tabele związane z umieszczaniem](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Lakehouse/lakehouse-datasets-architecture-streaming.htm#Landing).