Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

July 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more

Reply
lotussutol
Frequent Visitor

DataSource.Error: Oracle: ORA-00911: invalid character

I am looking for help on why the following SQL does not work in Power BI.

 

The SQL I have works fine when I test it in TOAD but when I try it in Power BI I get the following error.

DataSource.Error: Oracle: ORA-00911: invalid character
Details:
DataSourceKind=Oracle
DataSourcePath=d7ip_adg
Message=ORA-00911: invalid character
ErrorCode=-2147467259

 

Here is the SQL.

 

WITHq as ( 
    select        table1.name as label,        count(table1.id) as count_id,        
        row_number() over (order by count(table1.id) desc) as rn    
    from table1   
    where table1.name like 'D%'  
    group by table1.name)
select
    case
        when rn <= 9
        then label
        else 'Other'
    end label,    sum(count_id) count_idfrom qgroup by
    case
        when rn <= 9
        then label
        else 'Other'
    end;

IF I strip out the last part and run it like this it will return data but not group it up like I need.

 

select        table1.name as label,        count(table1.id) as count_id,        
        row_number() over (order by count(table1.id) desc) as rn    
    from table1   
    where table1.name like 'D%'  
    group by table1.name

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

@lotussutol,

Please remove semicolon at the end of your command. I can import data to Power BI Desktop successfully when I execute this statement :

WITH q as ( 
    select        table1.name as label,        count(table1.id) as count_id,        
        row_number() over (order by count(table1.id) desc) as rn    
    from table1   
    where table1.name like 'D%'  
    group by table1.name)
select
    case
        when rn <= 9
        then label
        else 'Other'
    end label,    sum(count_id) count_id from q group by
    case
        when rn <= 9
        then label
        else 'Other'
    end

 


Regards,
Lydia

View solution in original post

3 REPLIES 3
Anonymous
Not applicable

@lotussutol,

Please remove semicolon at the end of your command. I can import data to Power BI Desktop successfully when I execute this statement :

WITH q as ( 
    select        table1.name as label,        count(table1.id) as count_id,        
        row_number() over (order by count(table1.id) desc) as rn    
    from table1   
    where table1.name like 'D%'  
    group by table1.name)
select
    case
        when rn <= 9
        then label
        else 'Other'
    end label,    sum(count_id) count_id from q group by
    case
        when rn <= 9
        then label
        else 'Other'
    end

 


Regards,
Lydia

Thanks, that worked!

lotussutol
Frequent Visitor

ugh...the formating made the SQL look really ugly.

Helpful resources

Announcements
FabCon and SQLCon Barcelona 2026

FabCon & SQLCon – Barcelona 2026

Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.

60 days of Data Days Carousel

Data Days 2026

Join Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.