Forum Discussion

filipenovaims20's avatar
filipenovaims20
Regular Visitor
2 years ago
Solved

Splitting a unique csv file data set to different tables inside Fabric

Hi everyone,   I'm a new user of M.Fabric, and also studying and applying Kimball's 4 step for dimensional modelling.   I have a single csv source file wich describes food inspection across Chica...
  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi filipenovaims20 ,

    Thanks for using Fabric Community.

    1. Cloning Data Flows:

    While cloning existing Data Flows can be convenient, it can lead to code duplication and maintenance challenges. Instead, I recommend these options:

    • Modular Data Flows: Design reusable Data Flow components for common transformations (e.g., date formatting, address cleaning). These can be used across different dimensions, reducing redundancy.
    • Parameterization: Instead of cloning, modify the same Data Flow with different parameters (e.g., column names, transformation rules) for each dimension. This ensures flexibility and centralizes changes.
    • Chained Data Flows: If transformations are truly unique, consider separate Data Flows chained together. This improves maintainability by keeping each dimension's logic isolated.

    2. Data Splitting:

    Yes, splitting data into separate tables before individual Data Flow transformations is a good practice. This avoids unnecessary processing on irrelevant data for each dimension.

    • Pre-split Data Flow: Create a dedicated Data Flow to split the original data based on dimension-specific criteria. This pre-processed data can then be fed into separate Data Flows for each dimension, improving efficiency.
    • Lakehouse Partitioning: Utilize M.Fabric's lakehouse partitioning feature to group relevant data together based on dimension identifiers. This allows Data Flows to efficiently access only the required data for each dimension.

    Additional Tips:

    • Documentation: Clearly document your chosen approach for transformation and data organization to improve project clarity and avoid future confusion.
    • Testing and Monitoring: Regularly test and monitor your Data Flows to ensure they are operating correctly and efficiently.

    Remember: There is no one-size-fits-all solution, and the best approach will depend on your specific data, transformations, and preferences.

    I hope this helps! Feel free to ask any further questions you may have.