in src/converter/data/dataConverter.ts [229:332]
    private processData(
        dataRepresentation: IDataRepresentation,
        columnGroupByRole: IColumnGroupByRole,
        settings: Settings,
        valuesColumn: powerbiVisualsApi.DataViewValueColumns,
    ): void {
        const dateColumnGroup: IColumnGroup = columnGroupByRole[dateColumn.name];
        const valueColumnGroup: IColumnGroup = columnGroupByRole[valueColumn.name];
        if (!dateColumnGroup
            || !dateColumnGroup.columns
            || !dateColumnGroup.columns.length
            || !valueColumnGroup
            || !valueColumnGroup.columns
            || !valueColumnGroup.columns.length
        ) {
            return;
        }
        settings.date.setColumnFormat(dateColumnGroup.columns[0].source.format);
        const tooltipColumnGroup: IColumnGroup = columnGroupByRole[tooltipColumn.name];
        const {
            createSelectionIdBuilder,
        } = this.constructorOptions;
        valueColumnGroup.columns.forEach((column: powerbiVisualsApi.DataViewValueColumn, columnIndex: number) => {
            const x: Date = <Date>(dateColumnGroup.values[0]);
            if (x instanceof Date && x !== undefined && x !== null) {
                if (!dataRepresentation.series[columnIndex]) {
                    const selectionId: powerbiVisualsApi.visuals.ISelectionId = createSelectionIdBuilder()
                        .withSeries(valuesColumn, column)
                        .withMeasure(column.source.queryName)
                        .createSelectionId();
                    const seriesSettings: SeriesSettings = this.prepareSeriesSettings(settings, column);
                    const series = this.initDataRepresentationSeries(
                        selectionId,
                        dataRepresentation.series.length,
                        column.source.displayName,
                        seriesSettings,
                    );
                    dataRepresentation.series.push(series);
                    dataRepresentation.sortedSeries.push(series);
                }
                const seriesItem: IDataRepresentationSeries = dataRepresentation.series[columnIndex];
                const y: number = this.parseValue(
                    valueColumnGroup.values[columnIndex],
                    seriesItem.settings.values.treatEmptyValuesAsZero,
                );
                const dataPoint: IDataRepresentationPoint = {
                    index: seriesItem.points.length,
                    x,
                    y,
                };
                dataRepresentation.latestDate = x;
                if (seriesItem.points.length > 1 && (seriesItem.points[seriesItem.points.length - 1].y !== dataPoint.y)) {
                    seriesItem.isLine = false;
                }
                seriesItem.points.push(dataPoint);
                if (seriesItem.settings.values.showLatterAvailableValue) {
                    if (!isNaN(dataPoint.y)) {
                        seriesItem.current = dataPoint;
                    }
                } else {
                    seriesItem.current = dataPoint;
                }
                seriesItem.x.min = this.getMin(seriesItem.x.min, x);
                seriesItem.x.max = this.getMax(seriesItem.x.max, x);
                this.setupYMinMax(y, seriesItem);
                const tooltip: string = tooltipColumnGroup && tooltipColumnGroup.values && tooltipColumnGroup.values[columnIndex] || undefined;
                dataRepresentation.series[columnIndex].tooltip = tooltip;
            }
        });
        const subtitleColumnGroup: IColumnGroup = columnGroupByRole[subtitleColumn.name];
        if (subtitleColumnGroup) {
            dataRepresentation.subtitle = subtitleColumnGroup.values[0];
        }
        const warningColumnGroup: IColumnGroup = columnGroupByRole[warningStateColumn.name];
        if (warningColumnGroup) {
            dataRepresentation.warningState = warningColumnGroup.values[0];
        }
        const changeStartDateColumnGroup: IColumnGroup = columnGroupByRole[changeStartDateColumn.name];
        if (changeStartDateColumnGroup) {
            const date: Date = changeStartDateColumnGroup
                && changeStartDateColumnGroup.values
                && changeStartDateColumnGroup.values[0];
            dataRepresentation.percentCalcDate = date instanceof Date ? date : dataRepresentation.percentCalcDate;
        }
    }