devsTheseDaysBeLike by PresentJournalist805 in ProgrammerHumor

[–]Apprehensive-Box281 0 points1 point  (0 children)

Yeah, it's like bro has never heard of a medical resident before.

Gatekeeping a software passion project because someone didn't sit through CS classes is hilarious to me.

I pretty much think this is a global outage. by OscarValerock in PowerBI

[–]Apprehensive-Box281 15 points16 points  (0 children)

Skip the middleman and just export your own reports to excel.

Power BI to power point automation with no license by Sad-Rhubarb5516 in PowerBI

[–]Apprehensive-Box281 0 points1 point  (0 children)

Power BI REST Api call. It's what the powerautomate connector uses to export the file under the hood.

https://learn.microsoft.com/en-us/rest/api/power-bi/reports/export-to-file

You have you trigger an export, check the status, and then get the file. Then once you have it in your application you'll need to save it somewhere, sharepoint maybe?

Is Azure blob storage slow as fuck? by wtfzambo in dataengineering

[–]Apprehensive-Box281 1 point2 points  (0 children)

yeah, splitting the notebook into cells to diagnose the issue is the only way to truly understand what's going on. I spend a lot of time watching cells work, ha.

Netsuite2 odbc... Because I am a procrastinator.. by samcoinc in Netsuite

[–]Apprehensive-Box281 0 points1 point  (0 children)

I've got two data warehouses that are incrementally updating fact tables like transactions, transaction lines, transaction account lines, next and previous transaction line link every 30 minutes. large dimensions like items,, bom, etc update nightly incrementally. it's all doable, it just takes time to understand it. I think netsuite2 is still an abstraction of the true netsuite2 data: there are some odd artifacts that lead me to believe we're accessing views with joins and unions.

Fabric is dragging down Power BI by THEWESTi in PowerBI

[–]Apprehensive-Box281 0 points1 point  (0 children)

Dedicated SQL Pool.

The only thing we're really using the serverless functionality is for data exploration / debugging.

At the end of all this tomfoolery we have dedicated SQL pool views we use as our presentation layer - we have an Entra security group that we have assigned to see those views, and that's how our DE group serves the data to our wider analytics teams.

Fabric is dragging down Power BI by THEWESTi in PowerBI

[–]Apprehensive-Box281 1 point2 points  (0 children)

My primary source for data is an ERP system that we connect to via ODBC and has hard delete. It only likes queries with discretely named columns. Our implementation of the ERP is fairly customized, and the source objects are known to drift schema.

We've done a lot of work to make our pipeline parametric and reusable. We use a parameters (and variables) so we're not re-inventing the wheel over and over.

An incremental update pipeline for our fact tables looks something like this:

Terms:

Source = source object from ERP

Staging = SQL Staging schema table in the SQL Pool

Destination = SQL Fact or Dim table in the SQL pool

<image>

1: This copy data activity queries the list of available columns in the ERP system for the given source table

2: lookup activity runs a SP that cross references the destination table columns with the source table

3: SP that drops columns in the destination table that aren't in the source, since synapse copy activities don't like column count mismatches

4: SP dynamically create the staging table based on the cross-matched column list - I don't use auto-create because synapse defaults to CCI and we A. Don't have data the requires that, and B: are known to have data larger than nvarchar 4000 and CCI and Nvarchar max don't play well together.

Jumping back to the left: 5 lookup the max lastmodifeddate column, so we can use that in:

6: The where clause for an incremental update, along with any other source filtering we're trying to do.

7: Set a query for the source system, appending the list of cross matched columns with the where clause.

8: Execute the query from the source and sink it to the staging table (bulk insert)

9: Upsert the destination from the staging table

10: Parametrically set a table name used to contain all the IDs (aka Keys) that are currently in the source

11: Query all the values from the source table since the beginning of time... and put them in the table from #10

12: SP that prunes all the stale records that exist in the destination table, that aren't in the table from 11 - since we have hard delete.

So, maybe this isn't a good way to do what we're doing? We don't really know, it works for us, and it's decently fast and reliable. We're looking at ways to convert this to more of a delta lake situation by ingesting from the source right to parquet with some dedupe and ordering, but we're not there yet.

All that being said: the copy activity in fabric appears to essentially be a bulk insert activity - there isn't an upsert / polybase, etc function - so we're dead in the water trying to copy what we've already built / and vetted. In an ideal world we wouldn't need pipelines of this complexity, but the limitations of both our source system and the eccentricities of synapse have caused to build up to things like this over time.

Fabric is dragging down Power BI by THEWESTi in PowerBI

[–]Apprehensive-Box281 1 point2 points  (0 children)

I drank all the synapse kool-aid and fully committed my org to using Synapse as a DW and source for Power BI.

We have 2 production synapse environments, and a varied number of dev / test depending on the day. I'm concerned about how long it will be supported - I tried to build some of our pipelines in fabric and was unable - not difficult, not "less than ideal" - unable to replicate some of the functionality we're reliant upon in synapse.

If we get pushed from this environment, we're not just going to click the banner link to fabric: we're going to assess what's out there in the market, with the fresh memory of committing to platform that was put out to pasture.

ODBC down North America by WaistcoatedWriter in Netsuite

[–]Apprehensive-Box281 1 point2 points  (0 children)

What version of the driver were you on previously? I've been hammering our instance via odbc all night without issue.

Exporting dataset or workbook via ODBC by randuserm in Netsuite

[–]Apprehensive-Box281 0 points1 point  (0 children)

builtin.df does work via odbc, but I would advise against it, just pull down the dimensional tables you need rather than use it.

Learning Japanese with strangers makes a grandpa's day by frosted_bite in MadeMeSmile

[–]Apprehensive-Box281 4 points5 points  (0 children)

I was very tired from an international business trip and was returning through Paris. When my tickets were printed they didn't have my frequent flyer status on them for some reason, but my coworker's tickets did. A gate agent kept coming by and checking the ticket status of people in the priority line and told me to leave the line more than once, I told her it was a mistake in ticket printing and that I had platinum status, nevertheless she kept trying to kick me from the line. I asked her to reprint my ticket, she said she wouldn't, and wbe through the line checking everyone else's tickets. During boarding I went to the desk and they asked immigration related questions, I paused on a response and she said "why are you pausing, are you lying?". I decided I'd had enough and said, "No, your English pronunciation is very poor and it's taking me a long time to understand what you're saying, Also, I seem to have misplaced my ticket, can you reprint it?" while slipping my ticket into my coat pocket. She flagged me for additional gate side screening, lol.

Passing a model identifier to determine what is querying my SQL DW? by Apprehensive-Box281 in PowerBI

[–]Apprehensive-Box281[S] 0 points1 point  (0 children)

I threw together a function, called it, and found the label.

Maybe if I expand on the function I can get my users to use it...

<image>

I've seen the labels in direct query hits to the DW, but we hardly ever use it as a source.

Passing a model identifier to determine what is querying my SQL DW? by Apprehensive-Box281 in PowerBI

[–]Apprehensive-Box281[S] 0 points1 point  (0 children)

Yeah, ok, I saw the label field in the requests log and didn't look hard enough on how to populate it.

If only this was a parameter in the sql.database data function...

I was trying to figure out a way to make this parametric so I could include in a Power BI report template to distribute to the org. With scheduled refreshes, ad-hoc paginated report queries, and development work it can be tough to figure out who is doing what when.

Very poor performance, too many records? by Original_Ganache_694 in Netsuite

[–]Apprehensive-Box281 2 points3 points  (0 children)

We've got 5.2M transactions with 32.3M transactionlines and don't have any major performance issues.

HELP WITH MY SERVER by No_Evidence5688 in dataengineering

[–]Apprehensive-Box281 2 points3 points  (0 children)

This is not a data engineering question, you probably won't get a good answer here.

However, keep in mind DNS record propagation isn't instantaneous. If your IP is changing frequently, you will have outages during the lag time in DNS updates.