Skip to main content

    Filter by idea status

    Filter by product

    859 Ideas

    rogier.helmus
    Problem Solver
    rogier.helmusProblem Solver

    Join the ibrainstorm: taking XPilot to the next levelSUBMITTED

    Hi all,I’d like to propose that we start boosting XPilot into an AI that can help us in developing our data warehouses by supporting questions and tasks on the meta data of our model.I think this should be possible since the TimeXtender model can be represented in an XML file and recently ChatGPT has added an XML interpreter which allows you to ask questions about it. ChatGPT does this by translating the question to Python XML parsing code and then running it to get the results, So far it’s been a struggle to get it working but I think it should be possible to create an AI on the TimeXtender model it if it has enough knowledge about how the TimeXtender meta data is structured. I would like for XPilot to not only give me answers but also to make changes to the model. This can be a huge time saver in the case of repetitive tasks (e.g. updating multiple tables). Below is a list of categories and sample questions / actions that I’d like to be able to ask to XPilot. If you like to idea of getting a super boosted XPilot, please upvote my post. What types of questions or tasks would you like to see supported? Write them below in the comments! Greets,Rogier TimeXtender categories and questions / tasksData model analysis List the tables that are missing a primary key definitions List the DSA tables that I can join the DSA OrderLine table to based on the fields available? List the tables are using a post or pre script and that don't have a dependency set List the DSA views that don't have mapped fields List the tables with property [….] enabled/disabled. List the MDW tables that have custom records configured List the DSA tables with object dependencies and list the dependant tables for each table List the tables or fields with […] in the description List the fields that have a TimeXtender or custom transformation but no description  Code generation / transformations Create a tables called 'Sales' from the ODX table SalesLines from the AdventureWorks data source and add the following fields […] Set a default value of [...] for the fields […] Create a new varchar 50 field with a fixed value of 1 and a fixed value of 2. Set the batch size to [...]  for the DSA tables […] when the current value is [...]. Convert the varchar fields in the Customer table to nvarchar Can you suggest a custom SQL transformation that creates a running total of the Revenue field grouped by the CustomerKey and ordered by the SalesDataKey? (the current XPilot can already answer this) Set the value of the [...] field in the DSA [...]  table to [...]  when the value is [...] . Change the operator of the LastUpdate field to [...].  Model quality and integrity What is the distribution of the CustomerType field in the DSA table Customers? Does the  OrderLine table have duplicate records on the field OrderLineId? Give me a list of all DSA tables that have no rows Does the ProductDescription field in the DSA Product table have NULL values? List the tables with duplicate values  Model governance and security Tag all the fields in the data model with the name [...]  with the tag [...] List the tables that have a field tagged name [...]  Data lineage List the ODX data sources, tables and fields that are used to calculate the [...] field in the [….]  table in the [...] semantic layer Which fields in the DSA [...] table aren't used? List the MDW tables that have a [...] surrogate key field  Team development Summarize the DWH Production instance changes since version […] Warn me when a colleague starts working on a model I'm currently working on Warn me when a colleague makes a change to a table that I currently also have changes open on  

    rory.smith
    TimeXtender Xpert
    rory.smithTimeXtender Xpert

    Field Transformation precedence when using Conditional TransformationsSUBMITTED

    When teaching people to use TimeXtender or evaluating implementations I usually tell people to convert custom CASE statements into Conditional Fixed transformations because these are clearer to understand and easier to maintain.While writing an article on this topic I discovered that the code TimeXtender generates is no longer as close to a handwritten CASE statement as it used to be.Imagine the following setup: I have a handwritten CASE statement that populates a ProductClassDescription field based on the contents of the [Class] field (syntax in window on bottom-right). The way CASE statements work, the first result expression that returns TRUE for its boolean expression gets returned (see: https://learn.microsoft.com/en-us/sql/t-sql/language-elements/case-transact-sql?view=sql-server-ver16). This means that a record containing ‘H’ in the [Class] field will return ‘High’ for the [ProductClassDescription] field.If I create a ‘proper’ implementation using Fixed Transformation and conditions, the order of the transformations is inverted (bottom up). This means that the last Transformation ‘wins’ and the [ProductClassDescription_Clone] field contains ‘Low’.To exactly recreate the original CASE statement I would need to invert the order of the transformations: You do not run into this if your conditions are disjunct and remember to put the transformation without condition at the top, but you may want to set up a more complex if-then-else with overlapping conditions that makes use of the ordering of WHENs. I would then expect to define the transformations and conditions in a top-down order. If I add another Fixed Transformation without Condition to the bottom, all earlier Transformations are ignored in the code:Generated code:If the order is bottom-up I would expect only the ‘Unknown’ to be applied. I know that you can use a Default transformation to implement the ELSE in an IF-THEN-ELSE construct and avoid some of this, but I think this behaviour is wrong. I think the best solution would be:Use a single CASE with separate WHENs in the case of Fixed Transformations. Order them in the order defined in the UI (top-down) , allow only one Fixed Transformation without a condition and implement this as the ELSE statement. This also avoids the 10-levels of nesting issue with simple statements like this. Of course this would be a behavioural change and would require an option to be added to control this. Potentially use nested CASE statements for Custom Transformations as only scalar expressions use short-circuit logic, but I am not entirely sure what the reason for nested CASE statements is in the first place  

    anders.e.jonsson
    Contributor
    anders.e.jonssonContributor

    Calculation Groups - make it possible to add them to tabular modelsIMPLEMENTED

    Calculation Groups in Tabular models are very versatile. They may for example be used to;-  avoid redundancy when creating time intelligence calculation items-  dynamic format strings-  currency conversions-  default values in filters based on UPN et cetera.Calculation Group can be added to a deployed Tabular model (Endpoint) by executing xmla code, and run a Process Recalc command, from a PowerShell script. This can be done in TimeXtender with an External Executable that are run after processing the SSL in a Job.This means that the calculation groups will be reapplied each time a tabular model is processed, it takes no time at all, so the impact on performance is negligible.But there is a catch. A property in the tabular model - discourageImplicitMeasures - has to be set to true. Otherwise the calculation group can’t be created. We found now way to apply this in a script unless the entire model is replaced.The elegant way to solve this would be a new property in the TimeXtender portal where the Tabular endpoint is created. A new check box:Set Discourage Implicit Measures to True ⛝.When checked the property should be applied when the tabular model is deployed.I will not go into how to create calculation groups. There is already a lot published about it. For example, by Frank Wagner in TimeXtender Tuesday's episode 26.But I promise to write a small article on how to create the necessary XMLA and PowerShell scripts, once the checkbox is in place in the portal 😉. (This topic has been rewritten and moved from the Product Focus Group)BRAnders