J'ai 4 colonnes dans l'ensemble de données fictif (fichier ci-joint). La colonne « Entreprises » est regroupée par colonne « Mois-Année » et « Etat ». Chaque valeur de la colonne « Entreprises » est associée à une valeur de la colonne « Sectcor ». Je veux trouver les valeurs manquantes dans chaque groupe de colonne Mois-Année et État, par exemple le secteur "DK" est associé aux sociétés "C" et "D", mais pour le groupe janvier 2021, CA, nous avons 2 lignes associées. avec la société "C" et "D" pour le secteur "DK", mais dans le groupe février 2021, CA, il n'y a qu'une seule ligne qui lui est associée avec la société "D" pour Setcor "DK". Je souhaite insérer la ligne manquante pour le « C » de l'entreprise comme février 2021, CA, « C » et 0 pour la colonne de comptage.
Je veux la ligne en rouge. S'il vous plaît, aidez-nous à résoudre ce problème !
Vous pouvez diviser les données, puis les empiler à nouveau.
Si une ligne manque dans la table source, il y aura un emplacement vide dans la table de données fractionnées - et elle restera vide après l'empilement.
Vous devez donc remplacer les valeurs manquantes par 0 à la fin.
dt = New Table( "Sheet1",
Add Rows( 16 ),
New Column( "Month - Year",
Numeric,
Format( "Format Pattern", "<MMM>-<YYYY>"),
Input Format( "Format Pattern", "<MMM>-<YYYY>" ),
Set Values( {"Jan-2021", "Jan-2021", "Jan-2021", "Jan-2021", "Jan-2021", "Jan-2021","Jan-2021", "Feb-2021", "Feb-2021", "Feb-2021", "Feb-2021", "Feb-2021","Mrz-2021", "Mrz-2021", "Mrz-2021", "Mrz-2021"})),
New Column( "State",Character,
Set Values({"FL", "FL", "FL", "CA", "CA", "CA", "CA", "FL", "FL", "CA", "CA", "CA","FL", "FL", "FL", "FL"})),
New Column( "Companys", Character,Set Values({"A", "B", "C", "A", "C", "D", "E", "A", "B", "A", "B", "D", "A", "B","D", "E"})),
New Column( "Sector",Character, Set Values( {"JF", "JF", "DK", "JF", "DK", "DK", "RT", "JF", "JF", "JF", "JF", "DK","JF", "JF", "DK", "RT"})),
New Column( "Count",Set Values([2, 56, 4, 12, 17, 99, 4, 23, 20, 1, 15, 18,31, 2, 13, 10])));
dtSplit= dt << Split(
Split By( :"Month - Year"n ),
Split( :Count ),
Group( :Sector, :Companys ),
Remaining Columns( Drop All ),
Sort by Column Property
);
dtStacked = dtSplit <<STACK></STACK></YYYY></MMM></YYYY></MMM>