Generate your warehouse, pipeline and Power BI project

Generate the structure in NorthwindWarehouse, the files that load its four Northwind tables, and the Power BI project containing your analytical model. Generating these files prepares the warehouse; running the loading pipeline fills it with data.

Have the checked model from Connect Northwind and build the model open. Keep your empty destination, tested accounts, model names and package membership in the setup record. If preparation required a different unused destination name, use that recorded name wherever this page shows NorthwindWarehouse, including the query guards. The loading route uses Integration Services 2022 (SSIS 16.x); the SQL Server engine version and the package runner are separate settings.

Check what the pipeline will copy

  1. Open each of the four imports under ETL → Imports. In Main, compare Source name and Target name with your recorded column map. Preserve the full source values, including both OrderID and ProductID for Order Details.

  2. Keep ImpSQL and Filter / Query options empty for these full-table copies. Keep column SSIS statement expressions empty and do not add custom SQL in Scripts. Under Options, select Keep nulls. Select Keep identity where a destination identity column must retain its source IDs. Click Save after changes.

    The sales calculations belong to the analytical model. The imported Northwind values remain unchanged, so they can be compared with the source after loading.

  3. Open the recorded package under ETL → Packages and confirm its membership. The intended pipeline contains only the four tutorial imports. If the wizard grouped them into several packages, record each distinct package and its imports; do not select unrelated history, scripts or external tasks.

    This model uses views for the dimensions and fact. Their rows come from the imported tables, so they do not require an additional history or persistence load.

  4. Open Options → Parameter and check these values.

    Settings for the prepared loading route
    ParameterValuePurpose
    OLEDBPROVIDER_SQLSERVERMSOLEDBSQL19Use the prepared OLE DB Driver 19.4.2.
    SSIS_NOT_STORE_CONNECTION_STRINGS_IN_PACKAGE0Allow generated packages to retain connection strings for this file-based route.

    Generated files can contain connection details, including passwords when SQL sign-in is used. Keep their folders private; do not attach them to the setup record or share them with the guide.

Choose the destination and generated files

  1. In File Explorer, create C:\ACNorthwind\Output and C:\ACNorthwind\Config on the Windows computer that will generate and run the files. Use folders your account can write. Record these paths.

  2. Choose Deployment → Deployment package and click New. Enter NorthwindTutorial in Name and C:\ACNorthwind\Output in Directory. If this tutorial deployment already exists, open it instead.

  3. In Options, under Data warehouse, select Create DACPAC and Deploy DACPAC. A DACPAC describes the database structure; these choices generate it and apply that structure to the destination.

  4. Under Database to deploy and to use as source in generated files, enter your tested warehouse Server and the prepared destination in DB Name: NorthwindWarehouse, or the alternate unused name in your setup record. Compare both values with that record.

    This must be the separate empty destination. Do not use the source Northwind, the repository repo_NorthwindTutorial or the design database dwh_NorthwindTutorial.

  5. Select the sign-in method tested for the destination. For Windows sign-in, select Integrated. For SQL sign-in, select Standard and enter the tested Login and Password. Keep the certificate choice verified during setup.

  6. Set DACPAC Compatibility for the destination engine: choose 2019 for SQL Server 2019 or 2022 for SQL Server 2022. For SQL Server 2025, use its supported target only when your current AnalyticsCreator build provides it.

    If SQL Server 2025 is your destination but the list ends at 2022, stop before Deploy and ask AnalyticsCreator support to confirm the supported generation route for that build. Do not assume the SSIS 2022 setting establishes DACPAC compatibility. Keep Allow data loss, Drop objects not in source and Allow incompatible platform clear.

  7. In SSIS settings, enter the following values.

    Settings for the SSIS 2022 file runner
    SettingValue
    Package compatibility levelSQL Server 2022, matching Integration Services 2022 (16.x).
    Connection string to SSIS_Configuration stored asConfiguration file
    Config file pathC:\ACNorthwind\Config — the folder only.
    Create config fileSelected.
    Deploy SSIS_ConfigurationsSelected.
    Project referenceClear.

    For the deployment name NorthwindTutorial, the matching configuration file is C:\ACNorthwind\Config\NorthwindTutorial.dtsConfig. It identifies the warehouse configuration table. All connection strings stored as is an alternative storage mode; keep Configuration file selected here.

  8. In the Deployment Packages grid, locate every distinct import package recorded on the model page. Check PackageName and PackageType, then select SSIS for those packages. Keep ADF2 and unrelated packages clear.

    Each selected file executes all imports in its package. The complete selection must cover Customers, Products, Orders and Order Details exactly once.

  9. Under Other Files, select the option to generate Power BI Project (.PBIP) files. Keep the separate Create Power Pivot, Create XMLA File, Create Cube During Deployment and Process Cube in Workflow Package options clear.

    A PBIP is a Power BI project with report and semantic-model folders. It carries the analytical tables, relationships and measures; it is separate from deploying an SSAS OLAP cube to a server.

  10. Click Save. Reopen the deployment and check its destination, output folders, package selection and Power BI output choice. Click Deploy, then read Log until generation finishes.

    Result to check: the database structure was deployed and the selected loading and Power BI files were generated. Saving the settings alone does not create those results.

Check the empty warehouse and generated files

  1. In SQL Server Management Studio, connect to the recorded destination server. Open New Query and select your destination in the database selector. The query below checks the database context and lists the tutorial tables and views; it does not change data. If your recorded destination differs from NorthwindWarehouse, replace that name in the guard and message before running it.

    IF DB_NAME() <> N'NorthwindWarehouse'
        THROW 51000, 'Select NorthwindWarehouse before running this check.', 1;
    
    SELECT @@SERVERNAME AS ServerName, DB_NAME() AS DatabaseName;
    SELECT s.name AS SchemaName, o.name AS ObjectName, o.type_desc AS ObjectType
    FROM sys.objects AS o
    JOIN sys.schemas AS s ON s.schema_id = o.schema_id
    WHERE o.is_ms_shipped = 0 AND o.type IN ('U', 'V')
    ORDER BY s.name, o.name;

    Find all four recorded IMP tables, the customer and product dimension views, the sales fact view, and CFG.SSIS_Configurations. Compare their actual schema and names with your model record.

  2. Confirm that the four destination import tables are empty. The following query uses the requested names. If your recorded names differ, replace the expected database in the guard and message, and the matching schema/table identifiers, before running it in the same destination query window.

    IF DB_NAME() <> N'NorthwindWarehouse'
        THROW 51000, 'Select NorthwindWarehouse before running this check.', 1;
    
    SELECT N'Customers' AS TableName, COUNT_BIG(*) AS RowCount FROM [IMP].[Customers]
    UNION ALL SELECT N'Products', COUNT_BIG(*) FROM [IMP].[Products]
    UNION ALL SELECT N'Orders', COUNT_BIG(*) FROM [IMP].[Orders]
    UNION ALL SELECT N'Order Details', COUNT_BIG(*) FROM [IMP].[Order Details];

    Expected: four results, each with RowCount = 0. If rows already exist, use a fresh destination for another attempt. Do not clear an existing table as a shortcut.

  3. Open the output folder in File Explorer. Find the actual .dtsx file for each selected import package, compare its name with the deployment selection, and record its full path. Keep the generated folders and supporting files together. Record each distinct package once, even when it contains several imports.

  4. Open Notepad → File → Open, choose All files and open C:\ACNorthwind\Config\NorthwindTutorial.dtsConfig as text. Find \Package.Connections[config].Properties[ConnectionString] and read the following ConfiguredValue.

    Check the generated connection
    ValueMust match
    Data SourceYour recorded warehouse server.
    Initial CatalogNorthwindWarehouse, or your recorded alternate destination.
    Integrated Security or User IDThe destination's tested Windows sign-in or SQL login.

    This checks the connection to the configuration table. It does not replace the source-connection, column-map and package-membership checks above. Close Notepad without saving. If a value differs, correct the deployment settings and generate again; do not patch the XML or copy a password into your notes.

  5. Within the generated output, find the PowerBI folder. For this deployment, check that it contains the following set and record the actual full path of NorthwindTutorial.pbip.

    Keep the Power BI project together
    File or folderRole
    NorthwindTutorial.pbipThe project entry file.
    NorthwindTutorial.ReportThe report folder, including definition.pbir.
    NorthwindTutorial.SemanticModelThe model folder, including definition.pbism and its definition folder.

    If your deployment name differs, the common filename prefix differs too. Keep all companion folders in place: copying only the .pbip file is not enough.

  6. Using Notepad, inspect the generated model's .tmdl text files under definition without editing them. Confirm that the model includes the two dimensions, the sales fact and Units, Order Lines and Net Sales. Check the relationship endpoints against the actual fact-to-dimension columns you recorded.

    In the generated table partition expressions, locate Sql.Database. Its server and database must match the recorded deployment destination: NorthwindWarehouse, or your alternate name. Read the query to confirm the intended warehouse view. If a name, relationship, measure or connection is missing or wrong, correct the AnalyticsCreator definition and regenerate the files before using the report.

  7. Record the deployment result, four empty import tables, analytical views, distinct package paths, configuration path and complete PBIP location.

    Result: the warehouse structure and generated files are ready. The next task validates the selected packages, loads the four tables once and checks the data.

The empty destination and generated files now agree with the model. Run the loading pipeline and check the sales data.

If deployment fails or output is missing

  1. Read the first relevant error in Log. Check the destination, account permissions, provider and compatibility. Keep the data-loss, drop and incompatible-platform options clear.
  2. For a missing configuration file, confirm that its folder exists and is writable, and that Create config file is selected. Config file path takes a folder, not a filename.
  3. For a missing loading file, compare the saved package selection with the four-import inventory. For missing Power BI output, check the Power BI choice under Other Files, the analytical tables' Export to OLAP settings and any model-generation error. A DACPAC, XMLA or Excel file does not replace the PBIP output.
  4. After correcting the cause, inspect what already exists. If the destination is still empty, review the saved deployment and repeat Deploy. If a load was attempted, use a fresh destination with separate output folders.
  5. Repeat the output checks after generation. If the generated configuration or model cannot be interpreted, keep it unchanged and ask your administrator or AnalyticsCreator support to inspect it before execution.