% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/SSCD2.R
\name{SSCD2}
\alias{SSCD2}
\title{Implement a "Simple" Slowly Changing Dimension Type 2.}
\usage{
SSCD2(newData, currentData)
}
\arguments{
\item{newData}{\code{data.frame}. The data frame containing new records.}

\item{currentData}{\code{data.frame}. The data frame containing existing records.}
}
\value{
A combined data frame with all old data marked as not active and new
data marked as active.
}
\description{
This function implements a Simplified version of Slowly Changing Dimension
Type 2 to merge new and current data while maintaining historical records.
The function deactivates all the old records and activates new ones, ensuring
a history-preserving update strategy. The difference between a standard SCD2
is that this simplified version applies no checks on the data, deactivating
all the old records and activating the new ones, even if some of the old
records are still active.
}
\examples{
currentData_ <- tibble::tribble(
  ~id, ~colA, ~colB, ~colC, ~IS_ACTIVE, ~START_DATE, ~END_DATE,
  1, "a1", "b1", "c1", TRUE, Sys.time(), as.Date(NA),
  2, "a2", "b2", "c2", TRUE, Sys.time(), as.Date(NA),
  3, "a3", "b3", "c3", TRUE, Sys.time(), as.Date(NA))

newData_ <- tibble::tribble(
  ~id, ~colA, ~colB, ~colC,
  1, "a1", "b1", "c1",
  2, "a2", "b2", "c20",
  3, "a4", "b4", "c4")

mergedData <- SSCD2(newData = newData_, currentData = currentData_)

}
