Recentemente, encontrei as colunas "válido de" e "válido para" em uma tabela de fatos . Obviamente, isso é comum para dimensões, mas nunca as vi em tabelas de fatos antes e não consigo encontrar nenhuma informação sugerindo que sejam amplamente usadas.
A granularidade da tabela é análoga às transações da conta bancária, portanto, um novo fato é gerado quando um depósito é feito ou um valor é retirado. A razão dada para a inclusão das colunas é a necessidade de relatórios consistentes (se executarmos este relatório hoje, deve ser o mesmo de uma semana atrás) combinado com a baixa qualidade dos sistemas/dados de origem; os usuários podem entrar no sistema de origem e dizer "este depósito foi na verdade apenas £ 10, não £ 100". Quando isso acontece, uma segunda linha de fato é inserida e a linha original é expirada.
Na minha opinião, uma nova linha de fato deve ser inserida para inverter a original para manter o histórico (aplicando -£100 no exemplo) e o fato atualizado deve ser inserido (+£10). Parece que trabalhar com as colunas válidas de/para introduz muita complexidade para os usuários ao relatar, bem como o risco de erro (resumindo os fatos ativos e expirados).
Alguém tem experiência com isso e há alguma referência que o aborde especificamente (postagens de blog, artigos ou mesmo livros)?