private void GenerateLoadDimInterface(StringBuilder sb, StarDimensionTable ifa)
        {
            sb.Append($"-- Load DimensionInterface {ifa.Name}\n");
            sb.Append($"insert into {ifa.Name} (\n");
            foreach (var attr in ifa.Attributes)
            {
                sb.Append($"{attr.Name}".Indent(1));
                if (attr != ifa.Attributes.Last())
                {
                    sb.Append(",");
                }
                sb.Append("\n");
            }
            sb.Append(") \n");
            sb.Append("select \n");
            foreach (var attr in ifa.Attributes)
            {
                sb.Append($"{attr.JoinAlias}.{GetBTName(attr.BTAttribute)} as {attr.Name}".Indent(1));
                if (attr != ifa.Attributes.Last())
                {
                    sb.Append(",");
                }
                sb.Append("\n");
            }
            sb.Append($"from {ifa.MainBTInterface.FullName} as t0\n");

            // Referenzierte/untergeordnete Dimensionen joinen
            foreach (var ifaRef in ifa.InterfaceReferences)
            {
                sb.Append($"left join {ifaRef.ReferencedBTInterface.FullName} as {ifaRef.JoinAlias}\n");
                sb.Append($"on {ifaRef.JoinAlias}.{ifaRef.ReferencedRefColumnName} = {ifaRef.ParentJoinAlias}.{ifaRef.ParentRefColumnName}\n".Indent(1));
            }
            sb.Append(";\n\n");
        }
Esempio n. 2
0
 private void GenerateDimensionInterface(StringBuilder sb, StarDimensionTable ifa)
 {
     sb.Append($"truncate table {ifa.Config.ALDatabase}.dbo.{ifa.Name} \n");
     sb.Append($"insert into {ifa.Config.ALDatabase}.dbo.{ifa.Name} (\n");
     foreach (var a in ifa.Attributes)
     {
         sb.Append($"{a.Name}".Indent(1));
         if (a != ifa.Attributes.Last())
         {
             sb.Append(",");
         }
         sb.Append("\n");
     }
     sb.Append(") select \n");
     foreach (var a in ifa.Attributes)
     {
         sb.Append($"{a.Name}".Indent(1));
         if (a != ifa.Attributes.Last())
         {
             sb.Append(",");
         }
         sb.Append("\n");
     }
     sb.Append($"from [{ifa.Config.EtlDbServer}].{ifa.Config.ALDatabase}.dbo.{ifa.Name};\n");
     sb.Append("\n");
 }
 private void GenerateDimensionInterface(StringBuilder sb, StarDimensionTable i)
 {
     sb.Append($"create table {i.Name} (\n");
     foreach (var a in i.Attributes)
     {
         sb.Append($"{a.Name} {a.SqlType}".Indent(1));
         if (a == i.IdColumn)
         {
             sb.Append(" primary key not null");
         }
         if (a != i.Attributes.Last())
         {
             sb.Append(",");
         }
         sb.Append("\n");
     }
     sb.Append(");\n");
     sb.Append("\n");
 }
 private void GenerateTruncateDimInterface(StringBuilder sb, StarDimensionTable ifa)
 {
     sb.Append($"-- Inhalt von {ifa.Name} löschen\n");
     sb.Append($"truncate table {ifa.Name};\n\n");
 }
 private void GenerateDimensionInterface(StringBuilder sb, StarDimensionTable ifa)
 {
     sb.Append($"drop table if exists {ifa.Name};\n");
 }
Esempio n. 6
0
 private void GenerateDimensionInterface(StringBuilder sb, StarDimensionTable ifa)
 {
     sb.Append($"IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[{ifa.Name}]') AND type in (N'U'))\n");
     sb.Append($"drop table {ifa.Name}\n".Indent(1));
     sb.Append("go\n\n");
 }